验证基于无线电输入和显示错误消息的输入字段
我试图在提交表单时显示错误消息,当单选按钮被选中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("");
}
});
我不能肯定,因为我没有看到完整的HTML代码,但尝试,而不是:
if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) {
这个:
if ($("input[name='IsDeleted']:checked").val() === "True" && $("#reason").val() == '')
改善回答了一点,但要确保请将isDeleted单选按钮值“true”
中应用'[RequiredIf(“IsDeleted”,true,ErrorMessage =“请输入米数”)]''到'reason'属性并添加'@ Html.ValidationMessageFor(m => m.reason)'啊万分感谢!有用。这样的菜鸟错误! –
很高兴能帮到你,你能确保我改进的答案也能工作吗? – pegla
是的,他们都工作! –
尝试TRUE;不正确的,也就是你的理由,但实际上建设? – clearshot66
使用条件验证属性(请参阅您的[上一个问题]的评论(https://stackoverflow.com/questions/46181191/hide-display-a-input-field-based-on-value-from-htmlradiobuttonfor-and -make-it-ma)) –
@StephenMuecke感谢您的链接,这真的很有帮助。但我试图在视图中执行此验证。哪一个更好?这种方法也适用。 –