使用 jquery 验证显示错误后的函数
function after errors are displayed with jquery validation
我正在使用 jquery 验证。由于显示的错误,我的设计只有一个小问题。
我现在的代码:
$('#form1').validate({
rules: {
txtNaam: { required: true },
txtVoornaam: { required: true },
txtDatum: { required: true },
//rdbMan: { require_from_group: [1, ".optionsRadio"] },
//rdbVrouw: { require_from_group: [1, ".optionsRadio"] },
txtINSZ: {
required: $('cbInxsz').prop('checked')
},
txtGeboorteP:{required: $('cbInxsz').prop('checked')},
txtStraat: { required: $('cbInxsz').prop('checked') },
txtNr: { required: $('cbInxsz').prop('checked') },
txtBNummer: { required: $('cbInxsz').prop('checked') },
txtPost: { required: $('cbInxsz').prop('checked') },
txtWoonP: { required: $('cbInxsz').prop('checked') }
},
messages: {
txtNaam: {
required:'Please fill in name'
}
},
submitHandler:function(form){
checkWidth();
alert("gg");
},
invalidHandler: function (event, validator) { //resize because of the errors that are being displayed
checkWidth();
},
});
现在的问题是显示错误时我的函数 checkWidth 必须 运行。对于 invalidhandler 他不会这样做,因为这是 运行ned 在显示错误之前...任何人有任何想法吗?
CheckWidth 函数:
function checkWidth() {
w = $window.width();
if (w <= 650) {
//width smaller then 650 pixels divs above each other and button in the middle
$('#div1').removeClass('col-xs-6');
$('#div1').addClass('col-xs-12');
$('#div2').removeClass('col-xs-6');
$('#div2').css('height', 'auto');
$("#divButton").removeClass("text-right");
$("#divButton").addClass("text-center");
$('#btnSubmit').addClass("col-xs-6");
$('#btnSubmit').removeClass("col-xs-2");
}
else {
//bigger => divs next to each other and button in the right corner
$('#div1').addClass('col-xs-6');
$('#div1').removeClass('col-xs-12');
$('#div2').addClass('col-xs-6');
$("#div2").height($("#div1").height());
$("#divButton").addClass("text-right");
$("#divButton").removeClass("text-center");
$('#btnSubmit').addClass("col-xs-2");
$('#btnSubmit').removeClass("col-xs-6");
}
}
当您尝试提交整个表单时,将调用 invalidHandler 函数。尝试将回调函数放在 showErrors:
showErrors:function(errorMap,errorList){
checkWidth();
this.defaultShowErrors(); // to display the default error placement
}
从这里得到它 link Invalid handler callback for jquery validation
我正在使用 jquery 验证。由于显示的错误,我的设计只有一个小问题。 我现在的代码:
$('#form1').validate({
rules: {
txtNaam: { required: true },
txtVoornaam: { required: true },
txtDatum: { required: true },
//rdbMan: { require_from_group: [1, ".optionsRadio"] },
//rdbVrouw: { require_from_group: [1, ".optionsRadio"] },
txtINSZ: {
required: $('cbInxsz').prop('checked')
},
txtGeboorteP:{required: $('cbInxsz').prop('checked')},
txtStraat: { required: $('cbInxsz').prop('checked') },
txtNr: { required: $('cbInxsz').prop('checked') },
txtBNummer: { required: $('cbInxsz').prop('checked') },
txtPost: { required: $('cbInxsz').prop('checked') },
txtWoonP: { required: $('cbInxsz').prop('checked') }
},
messages: {
txtNaam: {
required:'Please fill in name'
}
},
submitHandler:function(form){
checkWidth();
alert("gg");
},
invalidHandler: function (event, validator) { //resize because of the errors that are being displayed
checkWidth();
},
});
现在的问题是显示错误时我的函数 checkWidth 必须 运行。对于 invalidhandler 他不会这样做,因为这是 运行ned 在显示错误之前...任何人有任何想法吗?
CheckWidth 函数:
function checkWidth() {
w = $window.width();
if (w <= 650) {
//width smaller then 650 pixels divs above each other and button in the middle
$('#div1').removeClass('col-xs-6');
$('#div1').addClass('col-xs-12');
$('#div2').removeClass('col-xs-6');
$('#div2').css('height', 'auto');
$("#divButton").removeClass("text-right");
$("#divButton").addClass("text-center");
$('#btnSubmit').addClass("col-xs-6");
$('#btnSubmit').removeClass("col-xs-2");
}
else {
//bigger => divs next to each other and button in the right corner
$('#div1').addClass('col-xs-6');
$('#div1').removeClass('col-xs-12');
$('#div2').addClass('col-xs-6');
$("#div2").height($("#div1").height());
$("#divButton").addClass("text-right");
$("#divButton").removeClass("text-center");
$('#btnSubmit').addClass("col-xs-2");
$('#btnSubmit').removeClass("col-xs-6");
}
}
当您尝试提交整个表单时,将调用 invalidHandler 函数。尝试将回调函数放在 showErrors:
showErrors:function(errorMap,errorList){
checkWidth();
this.defaultShowErrors(); // to display the default error placement
}
从这里得到它 link Invalid handler callback for jquery validation