【发布时间】:2014-11-13 03:37:44
【问题描述】:
我尝试使用Requiredif 和RequiredifTrue,但两者都不起作用。下面是我的代码。当我将 IsmedicalInsurance 的值设置为 true/false 时,其他两个都不起作用。
[Required(ErrorMessage="Please update about medical insurance")]
public bool? IsMedicalInsurance { set; get; }
[RequiredIf("IsMedicalInsurance", true, ErrorMessage = "Enter Primary Insuracne Name")]
public string PrimaryInsurance { set; get; }
[RequiredIfTrue("IsMedicalInsurance", ErrorMessage = "Enter Id number")]
public string IDnumber { set; get; }
查看代码。
<label class="radio-inline">
@Html.RadioButtonFor(m => m.IsMedicalInsurance, true, new { id="rdhaveinsur"}) Yes
</label>
<label class="radio-inline">
@Html.RadioButtonFor(m => m.IsMedicalInsurance, false, new { id="rdhaveno"})No
@Html.ValidationMessageFor(m => m.IsMedicalInsurance)
</label>
<div class="col-sm-7">
@Html.TextBoxFor(m => m.PrimaryInsurance, new { @class = "form-control", id = "txtInsurance" })
@Html.ValidationMessageFor(m => m.PrimaryInsurance)
</div>
<div class="col-sm-7">
@Html.TextBoxFor(m => m.IDnumber, new { @class = "form-control", id = "txtIdNumber" })
@Html.ValidationMessageFor(m => m.IDnumber)
</div>
【问题讨论】:
-
能否请您发布您的查看代码?
-
可能的问题是使用单选按钮和/或您没有
null值的单选按钮。尝试使用@EditorFor(m => m.IsMedicalInsurance)而不是单选按钮(它会呈现一个下拉菜单,其中包含 3 个选项“未设置”、“真”和“假”)
标签: asp.net-mvc-4 foolproof-validation