gpt4 book ai didi

asp.net-mvc - Validator.TryValidateObject 不验证 RangeAttribute

转载 作者:行者123 更新时间:2023-12-03 07:08:13 27 4
gpt4 key购买 nike

给定以下对象,

public class Question
{
[Required]
public string QuestionText { get; set; }

[Range(1, 5)]
public int Difficulty { get; set; }
}

使用以下验证码

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创建验证错误时创建验证错误(该值显然是0)?

最佳答案

啊,看来我需要指定 validateAllProperties = true

Validator.TryValidateObject(question, ctx, results, true);

顺便说一句,让我失望的是我有一个抽象基类,其中包含另一个属性,如果没有 validateAllProperties,验证器也会在所有父类(super class)的第一个错误时停止。所以你会得到每个父类(super class)的验证错误(在我的例子中是 2)

关于asp.net-mvc - Validator.TryValidateObject 不验证 RangeAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5368672/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com