[英]jquery validate, dynamically binding form validation
我正在尝试为某些地址验证表单在ajax响应上动态绑定验证。 我已经尝试了一些方法,但是似乎无法正常工作。 到目前为止,这是我得到的任何帮助,所有console.log都在工作。
$('#profileAddresses form').each(function() {
console.log('each');
var _id = $(this).prop('id');
var _idNum = _id.split('-');
var _input = _idNum[1];
var line1 = 'profile' + _input + 'Line1';
var city = 'profile' + _input + 'City';
var state = 'profile' + _input + 'State';
var zip = 'profile' + _input + 'Zip';
var country = 'profile' + _input + 'Country';
$(this).validate({
onkeyup: false,
errorClass: 'error',
errorElement: 'div',
onfocusout: false,
errorPlacement: function(error, element) {
error.insertBefore(element);
},
rules: {
line1: {
required: true
},
city: {
required: true
},
state: {
required: true
},
zip: {
required: true,
minlength: 5
},
country: {
required: true
}
},
messages: {
line1: {
required: 'Please enter a street address.'
},
city: {
required: 'Please select a city.'
},
state: {
required: 'Please select a state.'
},
zip: {
required: 'Please enter a zip code.',
minlengh: 'Pleaes enter a valid zip code.'
},
country: {
required: 'Please select a country.'
}
}
});
});
如果其他人遇到此问题,这似乎可行,只需在表单上设置验证,然后将规则添加到输入中即可。 我为每个类添加了一个类,因此可以更改所需的消息或要求。
$('#profileAddresses form').each(function() {
$(this).validate({
onkeyup: false,
errorClass: 'error',
errorElement: 'div',
onfocusout: false,
errorPlacement: function(error, element) {
error.insertBefore(element);
}
});
var _id = $(this).prop('id');
$('#' + _id + ' input').each(function() {
if($(this).hasClass('profileAddressZip')) {
$(this).rules('add', {
required: true,
messages: {
required: 'Required msg.'
}
});
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.