在客户端,装配 jQuery.validate 似乎是最好的。
在服务器端,您需要查询相同的源以构造字段列表,然后查看每个字段的发布变量,根据需要进行验证,并在失败时添加一些不相关的摘要字符串。这不是非常 MVC 风格。
更好:建立一些模型来解释这一点,即使它是 IEnumerable ,其中 MyFields 是:
public class MyFields {
public string Name { get; set; }
public string Value { get; set; }
public string ErrorMessage { get; set; }
// TODO: Add fields for validation expectations: required, string length, etc
// TODO: Maybe consider adding fields to specify the control needed: checkbox, select, etc
}
如果您有这样的模型,则 post 上的服务器验证只是循环通过模型,确保每个预期字段都存在并且每个字段都通过验证。