1

我曾尝试使用Requiredif 和RequiredifTrue,但两者都不起作用。下面是我的代码。当我将 IsmedicalInsurance 的值设为真/假时,其他两个都不起作用。

[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>
4

1 回答 1

0

为什么你需要让 IsMedicalInsurance 可以为空,因为该值为真或假并且不应该为空?我已经尝试了您的代码,它正在使用 IsMedicalInsurance 更改为 bool 而不是 bool

更新

您是否加载了以下脚本?

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/Scripts/mvcfoolproof.unobtrusive.min.js")
于 2014-11-13T04:30:22.107 回答