单选按钮验证不起作用 jquery
Posted
技术标签:
【中文标题】单选按钮验证不起作用 jquery【英文标题】:Radio button validation is not working jquery 【发布时间】:2020-04-12 22:47:43 【问题描述】:您好,我正在开发一个 MVC 应用程序,并且有一个模型,我通过在属性上设置必需属性来完成验证。
[Required(ErrorMessage = "Name is required.")]
public string Name get; set;
[Required(ErrorMessage = "Gender is required.")]
public string Gender get; set;
我有一个按钮点击,在 jquery 中点击这个按钮我已经完成了。
$("#frmInfo").validate();
问题是验证显示绑定到文本框的名称,但不显示绑定到单选按钮的性别。下面是在浏览器中呈现的 html。
<input data-val="true" data-val-required="Name is required." id="Name" name="Name" type="text" value="" aria-required="true" class="input-validation-error" aria-describedby="Name-error" aria-invalid="true">
<span class="field-validation-error" data-valmsg-for="Name" data-valmsg-replace="true"></span>
<span id="Name-error" class="">Name is required.</span>
<input id="Gender0" name="Gender" type="radio" value="Male" title="Male">
<label for="Male">Male</label>
<input id="Gender1" name="Gender" type="radio" value="Female" title="Female">
<label for="Female">Female</label>
<span class="field-validation-valid" data-valmsg-for="Gender" data-valmsg-replace="true"></span>
我不确定这里缺少什么单选按钮验证不起作用。
【问题讨论】:
如果您正在使用 Unobtrusive Validation 插件,则不能致电.validate()
。它由 Unobtrusive 自动构建和调用,您的将被忽略。
【参考方案1】:
按照以下步骤操作,希望它能解决您的问题。
HTML
创建一个隐藏控件来保存单选按钮的值。此隐藏控件的默认值为空。
<input id="hdnGender" name="hdnGender" type="hidden" value=""/>
JQuery
将单选按钮选择的值存储到隐藏控件中。
<script type="text/javascript">
$("input[name='Gender']").on("click", function ()
$("#hdnGender").val($(this).val());
MVC
通过任何后端脚本验证隐藏控件值。
[Required(ErrorMessage = "Gender is required.")]
public string Gender get; set;
【讨论】:
以上是关于单选按钮验证不起作用 jquery的主要内容,如果未能解决你的问题,请参考以下文章
输入类型单选按钮检查 else 语句在 jquery 中不起作用
验证单个单选按钮在可用的 javascript 验证脚本中不起作用