用于验证数据类型的MVC数据注释

时间:2010-12-21 03:23:07

标签: asp.net-mvc validation types data-annotations

如何为此方案自定义数据注释验证。

我收到此错误:

  

值“选择省”不是   对省有效。

我想要这样

  

请选择一个国家/地区

我的ViewModel如下所示:

    [DisplayName("Province")]
    [UIHint("ProvinceDropDown")]
    public long? ProvinceId { get; set; }

我的视图是一个选择列表:

<select name="ProvinceId" id="ProvinceId" class="input-validation-error">
    <option value="">Select Province</option>
    <option value="613">Allen </option>
    <option value="614">Anderson</option>
   // data truncated ....
</select>

2 个答案:

答案 0 :(得分:2)

您需要将ErrorMessage = "Please Select a Country"添加到注释属性,类似于the example here:

[Range(0, 50, ErrorMessage = "Quantity on order must be between 0 and 50.")]
public int OnOrder { get; set; } 

答案 1 :(得分:0)

要自定义验证器,您可以从ValidationAttribute继承:

public class SomeAttribute : System.ComponentModel.DataAnnotations.ValidationAttribute
{
    public override bool IsValid(object value)
    {
    }
}

我认为你不需要这样做,而是应该尝试使你的可空长字符串,并在此属性上使用验证器。

public string ProvinceId { get; set; } 

然后,在验证通过后,将View Model转换为某个具有nullable long的域模型。