Javascript 如何让parsley.js验证其中一个字段是否具有最小值为1的数字
我的表格上有成人、儿童和婴儿字段。这三个字段都有一个默认值,即0。我正在使用验证表单。我需要欧芹来验证是否至少有一个字段的值大于0。如果其中一个字段大于0,则应验证表单。如果没有,则在尝试提交时应给出一个错误。我使用了欧芹官方网站上的例子 这就是我到目前为止所做的:Javascript 如何让parsley.js验证其中一个字段是否具有最小值为1的数字,javascript,jquery,validation,parsley.js,Javascript,Jquery,Validation,Parsley.js,我的表格上有成人、儿童和婴儿字段。这三个字段都有一个默认值,即0。我正在使用验证表单。我需要欧芹来验证是否至少有一个字段的值大于0。如果其中一个字段大于0,则应验证表单。如果没有,则在尝试提交时应给出一个错误。我使用了欧芹官方网站上的例子 这就是我到目前为止所做的: <input type="text" name="nAdults" id="nAdults" value="0" data-parsley-group="block1" class="form-control " /
<input type="text" name="nAdults" id="nAdults" value="0" data-parsley-group="block1" class="form-control " />
<input type="text" name="nChildren" id="nChildren" value="0" data-parsley-group="block2" class="form-control "/>
<input type="text" name="nBabies" id="nBabies" value="0" data-parsley-group="block3" class="form-control " />
<script type="text/javascript">
//parsley validate
var form = $('#{{ $pageModule }}FormAjax');
form.parsley().on('form:validate', function (formInstance) {
var ok = formInstance.isValid({group: 'block1', force: true}) || formInstance.isValid({group: 'block2', force: true}) || formInstance.isValid({group: 'block3', force: true});
$('.invalid-form-error-message').html(ok ? '' : 'You must fill at least one of the Adult, Child or FOC Fields!').toggleClass('filled', !ok);
if (!ok)
formInstance.validationResult = false;
});
//form submit
form.on('submit', function(e) {
var f = $(this);
f.parsley().validate();
if (f.parsley().isValid()) {
var options = {
dataType: 'json',
beforeSubmit : showRequest,
success: showResponse
}
$(this).ajaxSubmit(options);
return false;
}
else {
return false; }
e.preventDefault();
});
</script>
//欧芹
var form=$('{$pageModule}}FormAjax');
on('form:validate',函数(formInstance){
var ok=formInstance.isValid({group:'block1',force:true})| formInstance.isValid({group:'block2',force:true})| formInstance.isValid({group:'block3',force:true});
$('.invalid form error message').html(确定?'':'必须至少填写一个成人、儿童或FOC字段!')。toggleClass('已填写',!确定);
如果(!ok)
formInstance.validationResult=false;
});
//提交表格
表格(‘提交’)功能(e){
var f=$(本);
f、 欧芹().validate();
如果(f.欧芹().isValid()){
变量选项={
数据类型:“json”,
提交前:showRequest,
成功:showResponse
}
$(此).ajaxSubmit(选项);
返回false;
}
否则{
返回false;}
e、 预防默认值();
});
如果您能告诉我如何验证这3个字段,我将不胜感激。当我写作时
data parsley min=“1”
它希望所有字段都有一个最小值。但我只需要一个字段就可以有最小值“1”。您必须编写自定义验证器。你能找到一个好的例子,如何做到这一点
(见控制台)
您必须编写自定义验证器。你能找到一个好的例子,如何做到这一点 (见控制台)
谢谢,但我收到一个错误
意外的令牌else
。哇!非常感谢你。这正是我想做的。因此,数据欧芹组
没有任何功能。还有,为什么我们要使用$。listen
?使用$。listen
欧芹正在监听指定的事件。在本例中,我将执行表单验证。谢谢您的帮助,但我收到了一个错误意外标记else
。哇!非常感谢你。这正是我想做的。因此,数据欧芹组
没有任何功能。还有,为什么我们要使用$。listen
?使用$。listen
欧芹正在监听指定的事件。在这种情况下,要进行表单验证。可能重复的可能重复的
// bind event after form validation
$.listen('parsley:form:validated', function(ParsleyForm) {
// We only do this for specific forms
if (ParsleyForm.$element.attr('id') == 'myForm') {
var combinations = ParsleyForm.$element.find('input')
,counter=0;
$.each($('input'),function(){
counter+=($(this).val());
});
if(counter>0)
ParsleyForm.validationResult = true;
}
});