2017-09-13 47 views
-1

我试图在提交表单时显示错误消息,当单选按钮被选中true并且输入框为空时,出于某种原因失败。任何建议表示赞赏!验证基于无线电输入和显示错误消息的输入字段

<div class="row col-lg-offset-2 top-buffer"> 
<h4> 
    <strong> 
     <span>Is Account Deleted?:</span> 
    </strong> 
</h4> 
      @Html.RadioButtonFor(model => model.IsDeleted, true) @Html.Label("Yes") 
      @Html.RadioButtonFor(model => model.IsDeleted, false) @Html.Label("No") 

<br> 
</div> 
<div class="row col-lg-offset-2 top-buffer" id="reason"> 
    <div class="col-sm-2"> 
     <b>Reason for Delete:</b> 
    </div> 
    <div class="col-sm-10"> 
     @Html.TextBoxFor(model => model.reason, new { @class = "form-control", @id = "reason" }) 

     <br /> 
    </div> 
    <div class="row col-sm-12"> 
     <label id="lblErrorMsg" class="has-error" style="color: #BD362F"></label> 
    </div> 
    <div class="col-sm-4"> 
     <button type = "submit" id="Next" name="Next" class="btn btn-primary">Next</button> 
    </div> 
</div> 

脚本:

<script> 
$("#Next").click(function() { 
    if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) { 
     $("#lblErrorMsg").text("Please enter meter number"); 
    } else { 
     $("#lblErrorMsg").text(""); 
    } 
}); 

+0

尝试TRUE;不正确的,也就是你的理由,但实际上建设? – clearshot66

+0

使用条件验证属性(请参阅您的[上一个问题]的评论(https://stackoverflow.com/questions/46181191/hide-display-a-input-field-based-on-value-from-htmlradiobuttonfor-and -make-it-ma)) –

+0

@StephenMuecke感谢您的链接,这真的很有帮助。但我试图在视图中执行此验证。哪一个更好?这种方法也适用。 –

回答

0

我不能肯定,因为我没有看到完整的HTML代码,但尝试,而不是:

if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) { 

这个:

if ($("input[name='IsDeleted']:checked").val() === "True" && $("#reason").val() == '') 

改善回答了一点,但要确保请将isDeleted单选按钮值“true”

+0

中应用'[RequiredIf(“IsDeleted”,true,ErrorMessage =“请输入米数”)]''到'reason'属性并添加'@ Html.ValidationMessageFor(m => m.reason)'啊万分感谢!有用。这样的菜鸟错误! –

+0

很高兴能帮到你,你能确保我改进的答案也能工作吗? – pegla

+0

是的,他们都工作! –

相关问题