使用CheckBoxFor检查是否需要复选框

Jer*_*ose 9 asp.net-mvc data-annotations razor

我需要在MVC3页面上有一个复选框(用于同意条款).

这是我的模型:

[Required]
[Display("I agree to the terms.")]
public bool Agreement { get; set; }
Run Code Online (Sandbox Code Playgroud)

这是我的观点:

@Html.CheckBoxFor(m => m.Agreement)
Run Code Online (Sandbox Code Playgroud)

但是,验证没有发生 - 它允许无论如何都提交表单.

我发现CheckBoxFor渲染了一个额外的隐藏字段,但我甚至尝试渲染我自己的复选框,但它仍然没有得到验证:

<input type="checkbox" name="Agreement" id="Agreement" value="true" data-val="true"
    data-val-required="You must agree to the terms before proceeding." />
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?