检查是否使用javascript规则和消息检查了至少1个复选框

时间:2018-02-07 05:26:08

标签: javascript php

我试图显示如果没有选中复选框的消息。我使用javvascript规则和消息

 <form   method="post" enctype="multipart/form-data name="english_registration_form" id="english_registration_form" >
   <div class="col-sm-12  inputgrp2 mstatu">
      <label class="labelclass">Marital Status*</label>
      <div id="result"></div>
      <span id="chkMaritalStatus" class="multiChkBox" >
         <div class="col-md-2 col-sm-3 col-xs-12">
            <input  type="checkbox" name="chkmstatus[]" value="Never Married  required">
            <label>Never Married</label>
         </div>
         <div class="col-md-2 col-sm-3 col-xs-12">
            <input   type="checkbox" name="chkmstatus[]" value="Awaiting Divorce" id="chkchild" required>
            <label >Awaiting Divorce</label>
         </div>
         <div class="col-md-2 col-sm-3 col-xs-12">
            <input  type="checkbox" name="chkmstatus[]" value="Seperated"  id="chkchild2" required>
            <label >Seperated</label>
         </div>
         <div class="col-md-2 col-sm-3 col-xs-12">
            <input  type="checkbox" name="chkmstatus[]" value="Widow/Widower"  id="chkchild3" required>
            <label>Widow/Widower</label>
         </div>
         <div class="col-md-2 col-sm-3 col-xs-12">
            <input  type="checkbox" name="chkmstatus[]" value="Divorced"  id="chkchild4" required> 
            <label >Divorced</label>
         </div>
         <div class="col-md-2 col-sm-3 col-xs-12">
            <input  type="checkbox" name="chkmstatus[]" value="Any" id="chkchild5" required>
            <label>Any</label>
         </div>
      </span>
   </div>
   <input type='submit' class='btn btn-finish btn-fill btn-success btn-wd' name='finish' value='Finish' />
</form>

这是我的js

var $validator = $('.wizard-card form').validate({
          rules: {
'chkmstatus[]': {required: true},
 /*chkmstatus: {
                  required: function(elem)
            {
                return $("input.select:checked").length > 0;
            }
            },*/
 },

 messages: {
chkmstatus[]: "You must check at least 1 box",
}
});

我试图让它尽可能简单,并在网站上找到了这个例子,但它似乎并不适用于我如何使用它。

2 个答案:

答案 0 :(得分:1)

您需要执行以下操作:

  • 错误:您需要在chkmstatus[]内的'chkmstatus[]'等单引号中打包messages

  • 您的解决方案min-length:1作为'chkmstatus[]'rules的规则添加var $validator = $('.wizard-card form').validate({ rules: { 'chkmstatus[]': { required: true, minlength: 1, // <-- Add this line }, }, messages: { // add single quotes 'chkmstatus[]': "You must check at least 1 box", } });

看起来像是:

languageMap.put ("Marathi","mr");
languageMap.put ("Hindi","hi");
  

jQuery-validate-minlength-method

     

说明:使元素需要给定的最小长度。

     

使用文字输入,选择和复选框。   如果元素是

,则返回false      
      
  • 某种文字输入及其值太短
  •   
  • 一组复选框,但没有选中足够的框
  •   
  • 一个选择,并没有选择足够的选项
  •   

答案 1 :(得分:0)

试试这个..!

function filterFalsy(obj) {
  return Object.keys(obj).reduce((acc, key) => {
    if (obj[key]) {
      acc[key] = obj[key]
    }

    return acc
  }, {})
}

const testObj = {
  a: 'test',
  b: 321,
  c: false
}

console.log(filterFalsy(testObj))

看看这个工作小提琴:https://jsfiddle.net/Lj8mwa0o/

希望这会有所帮助..!