Javascript 基于无线电输入验证输入字段并显示错误消息

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>

我试图在提交表单时使用jQuery显示一条错误消息,当单选按钮被选中为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>


是否已删除帐户?:

@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() == '')