[英]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.