MVC单选按钮验证

时间:2013-09-13 19:00:20

标签: jquery asp.net-mvc validation

我正在尝试对用户必须选择一个选项的单选按钮集进行一些验证。 我正在使用jquery.validate.unobtrusive.js。 为了验证复选框和文本框,我正在使用

     [MustBeTrue(ErrorMessage = "You must 18")]` 
     public bool IsEighteenYear { get; set; }    
     [Required(ErrorMessage = "Your first name is required.")]
     public string FirstName {get; set;} 

分别在模型中。 对于单选按钮有没有类似的方法呢? 说得像我一样

    public int Prefix { get; set;} 

在模型中是单选按钮?

我的观点看起来像

    @Html.CheckBoxFor(m => m.Is18)
    @Html.TextBoxFor(m => m.FirstName)
    @Html.RadioButtonFor(m => m.Prefix)

2 个答案:

答案 0 :(得分:3)

尝试

[Required()]
public string Prefix { get; set;}

@Html.RadioButtonFor(m => m.Prefix, "Mr.") Mr.
@Html.RadioButtonFor(m => m.Prefix, "Ms.") Ms.

诀窍是使用字符串类型,以便您可以强制执行该要求。

答案 1 :(得分:0)

在我看来,更好的方法是使用nullables。例如:

public int? Prefix { get; set;}

通过这种方式,您可以为值类型(枚举)提供[Requried],您不必处理字符串值的解析。