vb.net - 集合的MVC数据注释验证规则?

标签 vb.net validation asp.net-mvc-2 data-annotations

基于集合的属性是否有数据注释验证规则?

我有以下

  <DisplayName("Category")>
  <Range(1, Integer.MaxValue, ErrorMessage:="Please select a category")>
  Property CategoryId As Integer

  <DisplayName("Technical Services")>
  Property TechnicalServices As List(Of Integer)

我正在寻找一个验证器,我可以将它添加到 TechnicalServices 属性以设置集合大小的最小值。

最佳答案

我认为这样的事情可能会有所帮助:

public class MinimumCollectionSizeAttribute : ValidationAttribute
{
    private int _minSize;
    public MinimumCollectionSizeAttribute(int minSize)
    {
        _minSize = minSize;
    }

    public override bool IsValid(object value)
    {
        if (value == null) return true;
        var list = value as ICollection;

        if (list == null) return true;

        return list.Count >= _minSize;
    }    
}

有改进的余地,但这是一个工作的开始。

关于vb.net - 集合的MVC数据注释验证规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4340205/

相关文章:

vb.net - 类型转换通用类型

forms - Cakephp 验证后,所有表单字段都为空,并出现表单错误

c# - 如何在不映射到 EF 上下文的情况下使用 DataAnnotations 属性验证模型?

ASP.NET MVC : DropDownList validation

c# - 无法使用 Moq 在 ASP.NET MVC Controller 中模拟方法调用

c# - 在 GridView 中的 ASCX 控件内的控件上使用 Javascript 显示隐藏。 (ASP.NET + JavaScript)

VB.NET shell 命令抛出文件未找到异常

javascript - 从 ascx 代码隐藏文件调用 Aspx javascript 函数

Spring 验证 - BindingResult

c# - 从刚刚填写的文本框失去焦点后如何调用事件?