Asp.net 复杂模型的条件服务器端+客户端验证

Asp.net 复杂模型的条件服务器端+客户端验证,asp.net,asp.net-mvc,validation,unobtrusive-validation,client-side-validation,Asp.net,Asp.net Mvc,Validation,Unobtrusive Validation,Client Side Validation,我有一个非常复杂的模型,但简而言之,它看起来是这样的: class ComplexModel{ [Required]//default MVC string prop1 {get;set;} NestedModel {get;set;} } class NestedModel{ [Required]//default MVC [StringLength(..)]//default MVC string prop2 {get;set;} } 例如,我希望在某个post操作上运行所有[

我有一个非常复杂的模型,但简而言之,它看起来是这样的:

class ComplexModel{
 [Required]//default MVC
 string prop1 {get;set;}
 NestedModel {get;set;}
}
class NestedModel{
 [Required]//default MVC
 [StringLength(..)]//default MVC
 string prop2 {get;set;}
}
例如,我希望在某个post操作上运行所有[StringLength]验证,比如说SavePartially,并在另一个操作SaveFull上运行所有类型的验证

如果我有一个平面模型,我可以使用一些虚拟属性,比如RunAllValidations,并使用定制的验证属性,比如RequiredIf,但我有一个复杂的模型,所以我不想将这样的属性添加到每个嵌套模型中

是否有任何解决方案来创建某种既能在客户端工作又能在服务器端工作的规则集


或者可以定义哪些验证器将应用于模型的某些回发操作吗?

听起来您想要的是一个万无一失的验证@Liam ok,但您能给出一个真实的例子吗?此外,如何在服务器端处理此问题?@DLeh好的,看起来不错,但如何根据客户端的规则集进行验证?你能给我举个真实的例子吗?简单的验证可以在客户端进行,而不引人注目的验证。我不太清楚你想做什么来给出一个有意义的例子。关于如何使用它,应该有很多其他资源。