首页新闻找找看学习计划

MVC自定义验证与Requried验证,执行顺序问题。

0
悬赏园豆:50 [已关闭问题] 关闭于 2014-08-02 22:56

Hi, 诸位。

  我自定义了一个验证如下代码:

1 [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
2     public class RadioButtonListValidationAttribute : ValidationAttribute
3     {
4         protected override ValidationResult IsValid(object value, ValidationContext validationContext)
5         {
6             return new ValidationResult(validationContext.DisplayName + "不能为空");
7         }
8     }

 

当我直接应用到 Model 上时,OK。

 1     public class Employee
 2     {
 3 
 4         [DisplayName("姓名")]
 5         public string Name { get; set; }
 6 
 7         [RadioButtonList("Status")]
 8         [RadioButtonListValidation()]
 9         public string Status { get; set; }
10 
11 
12         [CheckBoxList("Status")]
13         [CheckBoxListValidation()]
14         public IEnumerable<string> Status2 { get; set; }
15     }

 这时自定义验证生效。

 

不过,当我为 Model 中的 Name 应用上 Required 后。

 1 public class Employee
 2     {
 3         [Required]
 4         [DisplayName("姓名")]
 5         public string Name { get; set; }
 6 
 7         [RadioButtonList("Status")]
 8         [RadioButtonListValidation()]
 9         public string Status { get; set; }
10 
11 
12         [CheckBoxList("Status")]
13         [CheckBoxListValidation()]
14         public IEnumerable<string> Status2 { get; set; }
15     }

这时,我的两个自定义验证就不会工作了,必须等 Model 中所有[Required] 通过后,才能工作。

 

 

是这什么原因呢?要怎么样解决呢?

请诸位帮助,谢谢。

Srouni的主页 Srouni | 初学一级 | 园豆:9
提问于:2014-08-02 20:37
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册