Javascript 基于无线电输入验证输入字段并显示错误消息
我试图在提交表单时使用jQuery显示一条错误消息,当单选按钮被选中为true并且输入框为空时,由于某种原因,它失败了。任何建议都将不胜感激Javascript 基于无线电输入验证输入字段并显示错误消息,javascript,jquery,html,asp.net-mvc,razor,Javascript,Jquery,Html,Asp.net Mvc,Razor,我试图在提交表单时使用jQuery显示一条错误消息,当单选按钮被选中为true并且输入框为空时,由于某种原因,它失败了。任何建议都将不胜感激 <div class="row col-lg-offset-2 top-buffer"> <h4> <strong> <span>Is Account Deleted?:</span> </strong> </h4>
<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>
是否已删除帐户?:
@Html.radioButton(model=>model.IsDeleted,true)@Html.Label(“是”)
@Html.radioButton(model=>model.IsDeleted,false)@Html.Label(“否”)
删除原因:
@TextBoxFor(model=>model.reason,新的{@class=“form control”,@id=“reason”})
下一个
脚本:
<script>
$("#Next").click(function () {
if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) {
$("#lblErrorMsg").text("Please enter meter number");
} else {
$("#lblErrorMsg").text("");
}
});
$(“#下一步”)。单击(函数(){
if($(($)输入[name='IsDeleted']“==”真“&&&$(“#原因”).val('')){
$(“#lblerrormg”).text(“请输入仪表编号”);
}否则{
$(“#lblerrormg”).text(“”);
}
});
我不能确定,因为我看不到完整的html代码,但请尝试以下操作:
if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) {
这:
答案有一点改进,但请确保IsDeleted单选按钮的值为“True”尝试
True
非True,这也是您实际构建的原因吗?使用条件验证属性(请参阅您的评论)@StephenMuecke感谢您的链接,这真的很有帮助。但是我试图在视图中执行这个验证。哪一个更好?这种方法也很有效。你的方法太糟糕了。条件验证属性在客户端和服务器上都有效(服务器端验证非常重要-客户端验证只是一个不错的奖励,但任何人都可以轻松地覆盖它)。将[RequiredIf(“IsDeleted”,true,ErrorMessage=“请输入仪表号”)]
应用于您的原因属性,并在视图中添加@Html.ValidationMessageFor(m=>m.reason)
。很高兴为您提供帮助,您能确保我改进后的答案同样有效吗?
if ($("input[name='IsDeleted']:checked").val() === "True" && $("#reason").val() == '')