我有一个相当复杂的模型但简而言之它看起来像这样:
class ComplexModel{
[Required]//default MVC
string prop1 {get;set;}
NestedModel {get;set;}
}
class NestedModel{
[Required]//default MVC
[StringLength(..)]//default MVC
string prop2 {get;set;}
}
我希望例如在某些帖子操作上运行所有[StringLength]
次验证,然后说SavePartially()
并对其他一些操作SaveFull()
运行各种验证。
如果我有一个平面模型,我可以使用一些虚拟属性,如RunAllValidations
,并使用自定义验证属性,如RequiredIf
条件,但我有一个复杂的模型,所以不要想为每个嵌套模型添加这样的属性。
是否有任何解决方案可以创建某种规则集,这些规则集在客户端和服务器端都可以使用?
或者是否可以定义哪些验证器将应用于模型的某些回发操作?