我对 ASP.NET MVC3 客户端验证有一个奇怪的问题。我有以下课程:
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 属性,您可以将自定义数据注释元数据提供程序编写为在这篇文章中显示 https://web-beta.archive.org/web/20160609072225/http://aspadvice.com:80/blogs/kiran/archive/2009/11/29/Adding-html-attributes-support-for-Templates-_2D00_-ASP.Net-MVC-2.0-Beta_2D00_1.aspx并定制默认模板 http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)