asp.net mvc3中复选框列表的自定义验证属性

时间:2012-09-06 07:38:53

标签: asp.net-mvc-3 jquery-validate

我要求在表单中显示任意复选框列表,并且我必须确保在提交表单时选中至少1个复选框。我不知道如何做到这一点。有人可以用一个例子来解释吗?我还需要客户端验证

1 个答案:

答案 0 :(得分:0)

以下链接可以为您提供帮助,Checkbox has to be ‘checked’ – with unobtrusive jQuery validation and ASP.NET MVC 3

您需要创建自定义验证,这里是一个必须选中的复选框验证验证器:

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class MustBeTrueAttribute : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        return value != null && value is bool && (bool)value;
    }
}

然后将此属性添加到模型中的复选框,就像添加[Required]属性一样:

[MustBeTrue(ErrorMessage = "Please accept terms and conditions before continuing")]
public bool AcceptTerms { get; set; }