Validator.TryValidateObject不validationRangeAttribute
鉴于以下目的,
public class Question { [Required] public string QuestionText { get; set; } [Range(1, 5)] public int Difficulty { get; set; } }
使用以下validation码
ICollection<ValidationResult> results = new List<ValidationResult>(); Question question = new Question(); ValidationContext ctx = new ValidationContext(question, null, null); Validator.TryValidateObject(question, ctx, results); // results.Length = 1
为什么Range属性在Required中没有创buildvalidation错误(值显然是0)?
啊所以看来我需要指定validateAllProperties = true
Validator.TryValidateObject(question, ctx, results, true);
顺便说一下,抛出我的是,事实上,我有一个抽象的基类与其中的另一个属性,没有validateAllPropertiesvalidation将停止对所有超类的第一个错误。 所以你会得到每个超类的validation错误(在我的情况2)
Validator.TryValidatorObject(instance, validationContext, validationResults)
Validator.TryValidateObject(instance, validationContext, validationResults, validateAllProperties)
使用validateAllProperties = false
调用Validator.TryValidateObject(instance, validationContext, validationResults, validateAllProperties)
。
当validateAllProperties为false
,只有RequiredAttribute
会被validation。
- 如何使用DataAnnotations在ASP.NET MVC 2中处理Booleans / CheckBoxes?
- DataAnnotations:recursionvalidation整个对象图
- 指定的值不符合所需的格式yyyy-MM-dd
- entity framework4.1 InverseProperty属性
- 从数据注释的Asp.Net Mvc隐藏字段
- entity framework代码First Fluent Api:向列添加索引
- “创build时需要Id字段”validation消息; Id未设置为
- ASP.Net中的远程validationMVC 3:如何在Action Method中使用AdditionalFields
- DataAnnotationsvalidation(正则expression式)在asp.net mvc 4 – 剃刀视图