gpt4 book ai didi

c# - 企业库验证 block 和规则集

转载 作者:行者123 更新时间:2023-11-30 22:46:35 24 4
gpt4 key购买 nike

我在如下所示的类型上使用规则集:

public class Salary
{

public decimal HourlyRate { get; set; }

[ValidHours] //Custom validator
public int NumHours { get; set; }

[VerifyValidState(Ruleset="State")] //Custom validator with ruleset
public string State { get; set; }
}

由于业务需求,我需要先验证规则集“State”,然后再验证整个业务实体

public void Save()
{
ValidationResults results = Validation.Validate(salary, "State");

//Check for validity

//Now run the validation for ALL rules including State ruleset
ValidationResults results2 = Validation.Validate(salary); //Does not run the ruleset marked with "State"

}

我如何完成我想做的事情?

最佳答案

您需要将 VerifyValidState 添加到两个规则集中:

public class Salary
{

public decimal HourlyRate { get; set; }

[ValidHours] //Custom validator
public int NumHours { get; set; }

[VerifyValidState]
[VerifyValidState(Ruleset="State")] //Custom validator with ruleset
public string State { get; set; }
}

然后您可以分别调用每个 RuleSet(您已经在这样做)。代码将如下所示:

public void Save()
{
ValidationResults results = Validation.Validate(salary, "State");

//Check for validity
if (results.IsValid)
{
//Now run the validation for ALL rules including State ruleset
results.AddAllResults(Validation.Validate(salary));
}
}

关于c# - 企业库验证 block 和规则集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2579013/

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