我正在尝试使用jquery validate插件验证表单。在我的表单中,有一个'ip'字段和一个'mac'字段用于ip和mac address resp。这是代码:
jQuery.validator.addMethod('IP4Checker', function(value) {
var ip = "^(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}"+
"|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}$";
return value.match(ip);
}, ' Invalid IP Address');
jQuery.validator.addMethod('MACChecker', function(value) {
var mac = "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$";
return value.match(mac);
}, ' Invalid MAC Address');
// Validate form
jQuery('#myform').validate({
rules: {
mac: {
MACChecker : true
},
ip: {
IP4Checker: true
}
}
});
现在,当用户在jquery对话框中单击“确定”按钮时,我想验证此表单。然而,即使有有效的输入,它仍然会返回为假。
// dialog box
jQuery('#mydialog').dialog({
autoOpen: false,
buttons: {
Cancel: function() {
jQuery(this).dialog('close');
},
Ok: function() {
jQuery('#myform').validate();
var valid = jQuery('#myform').valid();
alert("valid = "+valid);
if(!valid){
return false;
}
...
它只是不想评估为真。我在没有jQuery('#myform').validate();
的情况下尝试了它,结果相同。发生了什么事?