我有一个表单,其中包含一个伪选择元素。伪选择元素是下拉菜单。当单击下拉菜单中的某个项目时,隐藏输入框将被赋予那个项目分配的值。我正在使用jQuery.validate验证表单。一个简单的验证规则绑定到隐藏输入框。如果输入框没有值,则会给隐藏输入框和伪选择元素添加错误类并显示错误消息。
我的问题是更改隐藏输入框的值不会触发更改、键盘弹起或模糊事件。如果把错误状态应用于隐藏输入框,则在为输入框赋予有效值后该状态仍然存在。只有在再次提交表单时,输入框才能得到正确验证。
由于jQuery.validate启用了对隐藏输入框的验证,我想知道是否有一种配置或方法可以处理这个问题。
编辑:
我的问题是更改隐藏输入框的值不会触发更改、键盘弹起或模糊事件。如果把错误状态应用于隐藏输入框,则在为输入框赋予有效值后该状态仍然存在。只有在再次提交表单时,输入框才能得到正确验证。
由于jQuery.validate启用了对隐藏输入框的验证,我想知道是否有一种配置或方法可以处理这个问题。
编辑:
$form.validate({
ignore: false,
rules: {
'firstname': 'required',
'lastname': 'required',
'org': 'required',
'role': 'required',
'email': {
required: true,
email: true
}
},
messages: {
'firstname': 'Please enter your first name',
'lastname': 'Please enter your last name',
'org': 'Please enter your organization',
'role': 'Please select your role',
'email': 'Please enter your email'
},
errorPlacement: function(error, element) {
var $errMessage = $('.js-err-message');
$errMessage.removeClass('js-hidden');
$(error).each(function(){
$errMessage.append(error);
if (element.is('#role-input')) {
$('.pseudo-select').addClass('mad-error');
}
});
}
});