我对 ASP.NET MVC3 客户端验证有一个奇怪的问题。我有以下类(class):
public class Instrument : BaseObject
{
public int Id { get; set; }
[Required(ErrorMessage = "Name is required.")]
[MaxLength(40, ErrorMessage = "Name cannot be longer than 40 characters.")]
public string Name { get; set; }
}
在我看来:
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
这是我为该字段的文本框生成的 HTML:
<input class="text-box single-line" data-val="true" data-val-required="Name is required." id="Name" name="Name" type="text" value="">
没有 MaxLengthAttribute
的迹象,但其他一切似乎都正常。
知道出了什么问题吗?
最佳答案
尝试使用 [StringLength]
属性:
[Required(ErrorMessage = "Name is required.")]
[StringLength(40, ErrorMessage = "Name cannot be longer than 40 characters.")]
public string Name { get; set; }
这是为了验证目的。例如,如果您想在输入上设置 maxlength 属性,您可以将自定义数据注释元数据提供程序编写为 shown in this post并自定义 default templates .
关于c# - MaxLength 属性不生成客户端验证属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6801656/