我在MVC 4中有一个@Html.EditorFor
控件,对于字符串长度验证,我在模型属性初始化的顶部使用了[StringLength(10)]
属性,上面的控件。它的作用是每当用户输入10个以上的字符时,它会给出一条消息,提到它不能超过定义的限制。
但是,它并不禁止用户输入超过定义的限制。可以在MVC中使用DataAnnotations吗?
注意:我不想在这里使用任何onKeypress事件。
答案 0 :(得分:1)
似乎是使用TextBox来代替是最简单的方法:
@Html.TextBoxFor(model => model.MyField, new {maxlength = 10})
答案 1 :(得分:1)
你可以给你编辑@ maxlength = 10 e.g。
@Html.EditorFor(model => model.str, new { @maxlength=10 })
通过这种方式,您可以限制用户表单插入超过10个字符。
我希望这会对你有所帮助。
答案 2 :(得分:0)
您需要在相关的View中编写验证码@ Html.ValidationMessageFor(如edit.cshtml):
<div class="editor-field">
@Html.EditorFor(model => model.str)
@Html.ValidationMessageFor(model => model.str)
</div>
因此,它会自动查找验证属性并在您的视图页面中显示一些错误消息。 您可以查看此帖子:Adding validation to the model