我是C#MVC的新手,我正在尝试向表单中使用的视图模型添加一些动态验证检查。例如,我有一个名为FirstName的字符串属性。我可以添加属性StringLength(10)和Required()。
我的问题是,取决于其他字段,FirstName StringLength可能在10到20之间变化,等等。我仍然想要使用MVC验证但能够修改它。我知道属性绑定到类,所以也许我使用了错误的东西。
我想要属性验证的功能,但在运行时可以修改它。这可能吗?
答案 0 :(得分:1)
属性中的值必须是文字。您仍然可以使用基于属性的验证,但是您需要使用CustomValidation
标记并将其指向要使用的方法。如果它依赖于对象中的多个字段,则需要将其放在类而不是属性上。
答案 1 :(得分:0)
似乎您可以通过实现DataAnnotationsModelValidatorProvider在运行时添加验证属性: Dynamic Attributes @ forums.asp.net