gpt4 book ai didi

c# - 验证 List 以确保列表包含列表中的一项与数据注释 MVC C#

转载 作者:行者123 更新时间:2023-12-05 08:50:37 25 4
gpt4 key购买 nike

我正在尝试验证通用列表,例如 List<Sales>这样列表应该至少包含一个通过复选框添加的项目。

这是我尝试过的方法:

  public class SalesViewModel :IValidatableObject
{

[Required]
public List<Sales> AllSales{ get; set; }


public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (AllSales.Length == 0)
yield return new ValidationResult("Please pick one sales item");
}
}

只是想知道这是否是处理这种情况的正确方法。

最佳答案

您还可以创建 custom validation attribute ,类似于以下内容:

public class EnsureOneItemAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
var list = value as IList;
if (list != null)
{
return list.Count > 0;
}
return false;
}
}

然后像这样应用它:

[EnsureOneItemAttribute (ErrorMessage = "Please pick one sales item")]
public List<Sales> AllSales{ get; set; }

关于c# - 验证 List<T> 以确保列表包含列表中的一项与数据注释 MVC C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61480246/

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