有人可以提供一个很好的教程,说明如何在不使用 MVC 帮助器的情况下验证我的 html 字段。有可能吗?
我想保留纯 html 并使用input type="text"
字段而不是 mvc 助手<%= Html.TextBox("Name") %>
,但仍使用模型验证..
public class Employee
{
[Required]
public string Name { get; set; }
}
jquery Ajax也可以吗?
谢谢
有人可以提供一个很好的教程,说明如何在不使用 MVC 帮助器的情况下验证我的 html 字段。有可能吗?
我想保留纯 html 并使用input type="text"
字段而不是 mvc 助手<%= Html.TextBox("Name") %>
,但仍使用模型验证..
public class Employee
{
[Required]
public string Name { get; set; }
}
jquery Ajax也可以吗?
谢谢
虽然可以在不使用帮助器的情况下在 MVC 中执行不显眼的验证,但作为开发人员,如果不使用 mvc 帮助器手动进行验证,将会很痛苦。严格地说,它会破坏你的性能并使你的代码不可读。
基本上,不显眼的验证由两部分组成:服务器端,通过模型字段的数据属性和 MVC Helpers,生成必要的标记,以及客户端库jquery.validate.unobtrusive.js,它将这些标记解析为有意义的部分jquery 验证插件。
因此,一般情况下,您可以手动编写必要的标记,只要加载了验证 js 库,验证就可以工作。例如,作为验证对象的字段必须使用 data-val='true' 属性进行标记。如果你想让你的字段成为必填项,你应该另外写一些类似 data-val-required="error message" 的东西。对于长度验证 - data-val-length-min="5"(显然,最小) data-val-length-max="50"(最大长度),data-val-length="Min 5 max 50 chars required" .
而在使用普通的 mvc 方法时,这只是模型属性的问题:
[Required]
[StringLength(50, MinimumLength = 5)]
public string Name { get; set; }
和标记中的一行代码:
@Html.TextBoxFor(o=>o.Name)
漂亮,闪亮,将视图和模型分开,并有助于 KISS。
对于你问题的第二部分。如果我正确理解了您的问题,您想验证动态表单。可能是答案: jquery.validate.unobtrusive not working with dynamic injection elements