<分区>
我有这段代码:
[Required]
public List<string> myStringList { get; set; }
不幸的是,它不起作用,验证器完全忽略了它。
此外,这工作正常:
[Required]
public string myString { get; set; }
和 DateTimes 也能正常工作。显然,问题不在我的验证器上,而在注释上。所以问题是,我应该如何在列表中设置数据注释?
<分区>
我有这段代码:
[Required]
public List<string> myStringList { get; set; }
不幸的是,它不起作用,验证器完全忽略了它。
此外,这工作正常:
[Required]
public string myString { get; set; }
和 DateTimes 也能正常工作。显然,问题不在我的验证器上,而在注释上。所以问题是,我应该如何在列表中设置数据注释?
最佳答案
创建自己的数据标注属性,粗略的例子:
public class ListHasElements : ValidationAttribute
{
public override bool IsValid(List mylist)
{
if(mylist == null)
return false;
return mylist.Any();
}
}
然后像这样使用它:
[ListHasElements(ErrorMessage = "List must contain an element")]
public List<string> myStringList { get; set; }
关于C# 在 List<string> 上设置数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17449651/