无效字符串的数据注释验证

Data annotation validation for an invalid string

场景是这样的:

我在下拉框中有一个国家/地区列表,还有一个名为 "Not Found" 的 select 属性,我必须将其包括在内,因为这是一个文本字段,所以有很多垃圾!

所以当用户创建一个来自让我们说,如果他们选择 "Not Found" 选项,我想要一个错误说 "select valid country" 很容易...

但是我找不到正确的注释

    [???(ErrorMessage = "Select a valid country.")]
    public string Country
    {
       get 
       set
    }

但是当 ?s 是时,我需要添加什么属性?

谢谢

我想你想创建一个自定义属性。像这样:

class YourValidationAttribute : ValidationAttribute
    {
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        // Do your validation check....and return a ValidationResult
            return ValidationResult.Success;
        }
    }

然后用它注释你的class:

[YourValidationAttribute]
    public string Country
    {
       get 
       set
    }

也看到这个:https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.validationattribute%28v=vs.110%29.aspx

我会使用预定义的 CustomValidation 注释。

https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.customvalidationattribute(v=vs.95).aspx