【问题标题】:How to enable/disable HTML5 required field validation?如何启用/禁用 HTML5 必填字段验证?
【发布时间】:2018-02-10 02:53:06
【问题描述】:
我有一个表单,我需要对 3 个字段进行条件验证。
这些字段是电子邮件、名字和姓氏。
所以电子邮件字段文本框具有价值,我不需要验证名字和姓氏,我的意思是稍后 2 可以为空。
如果 FirstName & LastName 字段有值,Email 可以为空。
我正在使用 HTML5 必需属性。
如何使用 jQuery 启用禁用 HTML5 所需的验证器?
【问题讨论】:
标签:
jquery
asp.net
html
validation
cross-browser
【解决方案1】:
删除
$("#txt").removeAttr("required");
添加
$("#txt").attr("required","");
【解决方案2】:
检查值并删除required 属性。
$('#btnSubmit').on('click', function() {
if ($('input[name=last]').val() != "" && $('input[name=first]').val() != "")
$('input[name=Email]').removeAttr("required");
else if ($('input[name=Email]').val() != "") $('input[name=first],input[name=last]').removeAttr("required");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post">
First:
<input type="text" name="first" value="" required />
<br />Last:
<input type="text" name="last" value="" required />
<br />Email:
<input type="text" name="Email" value="" required />
<br />
<input type="submit" value="Submit" id="btnSubmit" />
</form>
【解决方案3】:
试试这个:
jQuery
$('#Email').removeAttr('required');
【解决方案4】:
这可能对你有帮助
$('button').click(function(){
$('input').each(function(){
$(this).prop('required', !$(this).attr('required'))
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" nam="FirstName" placeholder="First Name" required/>
<input type="text" nam="LastName" placeholder="Last Name" required/>
<input type="text" nam="Email" placeholder="Email" required/>
<br/>
<button>
Enable/Disable All inputs
</button>
就像toggling 和required attribute。