我的模型类具有不带Required属性的bool属性:
public class Test
{
public bool TestBool1 { get; set; }
}
然后在我的 Razor View 中,我使用的是EditorFor(CheckBoxFor也发生同样的事情):
<div>
@Html.LabelFor(m => m.TestBool1)
@Html.EditorFor(m => m.TestBool1)
</div>
这将产生以下HTML:
<div>
<label for="TestBool1">TestBool1</label>
<input class="check-box" data-val="true" data-val-required="The TestBool1 field is required." id="TestBool1" name="TestBool1" type="checkbox" value="true">
<input name="TestBool1" type="hidden" value="false">
</div>
data-val-required html属性从何而来?
有没有一种方法可以停止它而不使用
@Html.CheckBox("TestBool1", Model.TestBool1)
并将类型设置为bool?
呢? 最佳答案
从这个答案Data annotations, why does boolean prop.IsRequired always equal true
您可以防止发生这种情况,但是由于您总是会发送 bool 值(对或错),因此我通常将其保留