如何使用表单验证 jquery 检查至少一个选中的复选框?

Posted

技术标签:

【中文标题】如何使用表单验证 jquery 检查至少一个选中的复选框?【英文标题】:How to check at least one selected checkbox using form validation jquery? 【发布时间】:2021-07-23 12:11:07 【问题描述】:

html

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="/jquery-ui.js"></script>
<body>
    <form id="applicationForm" method="POST" class="valida en" action="../../lib/air-condition-request.php">
    <label class="serviceDay">
    <input type="checkbox" id="airConDaily">Daily 
    <input type="checkbox" id="airConMon" name="monday" value="1">Monday
    <input type="checkbox" id="airConTue" name="tuesday" value='1'>Tuesday
    <input type="checkbox" id="airConWed" name="wednesday" value='1'>Wednesday
    <input type="checkbox" id="airConThur" name="thursday" value='1'>Thursday
    <input type="checkbox" id="airConFri" name="friday" value='1'>Friday
    <input type="checkbox" id="airConSat" name="saturday" value='1'>Saturday
    <input type="checkbox" id="airConSun" name="sunday" value='1'>Sunday
    <input type="checkbox" id="airConPh" name="ph" value='1'> Public Holiday
    </label>
    <input type="hidden" name="type" value="2">
    <input type="submit" name="button" id="button" value="Submit" class="all-btn">
    </form>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/jquery.validate.js"></script>
<script src="../../js/form-validation.js"></script>
</body>
                  

表单验证 jquery

$('#itemForm').validate(
  errorClass:"validationError",
    rules:
    
    ,
    messages:
      
    
  

);

大家好,

我检查了关于至少一个选定复选框的许多答案,但它们无法解决我的问题。

如果用户没有选择任何复选框,系统如何显示错误。

谢谢

【问题讨论】:

基本条件是$('input[type=checkbox]:checked').length &gt; 0,但我不知道如何将其与 jQuery validate 结合起来。 【参考方案1】:

我真的不知道它是否适合您的用例,但您可以为您的复选框赋予所有相同的名称并赋予它们不同的值,然后在您的验证中进行简单的必需检查

  <input type="checkbox" id="airConTue" name="weekday" value='tuesday'>Tuesday
  <input type="checkbox" id="airConWed" name="weekday" value='wednesday'>Wednesday
  <input type="checkbox" id="airConThur" name="weekday" value='thursday'>Thursday
rules: 
  weekday: required: !0

编辑:如果你做一个数组可能会更好,因为这将使序列化更容易!

  <input type="checkbox" id="airConTue" name="weekday[]" value='tuesday'>Tuesday
  <input type="checkbox" id="airConWed" name="weekday[]" value='wednesday'>Wednesday
  <input type="checkbox" id="airConThur" name="weekday[]" value='thursday'>Thursday
rules: 
  "weekday[]": required: !0

【讨论】:

我以前试过这个方法。没有错误信息。 github.com/Shumuu/jqv 这对我有用。如果你找不到你的错误,你能分享一个没有为你显示消息的 repo 吗?

以上是关于如何使用表单验证 jquery 检查至少一个选中的复选框?的主要内容,如果未能解决你的问题,请参考以下文章

jquery验证检查3个复选框的状态都被选中然后启用按钮

如果选中某些复选框,则 jquery 验证表单输入

使用MVC检查至少一个自动生成jquery datatable复选框

jQuery表单验证问题

检查表单提交时至少选中一个复选框

如何使用jquery检查表单中未选中的radio,定位到这个radio并输出提示信息