我试图显示如果没有选中复选框的消息。我使用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",
}
});
我试图让它尽可能简单,并在网站上找到了这个例子,但它似乎并不适用于我如何使用它。
答案 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/
希望这会有所帮助..!