我有以下代碼一個驗證規則是否會抑制jQuery驗證插件中的其他驗證規則?
<html>
<head>
<title>Untitled Document</title>
<script type="text/javascript" src="js/jquery-1-4-2.js"></script>
<script type="text/javascript" src="js/jquery_validate.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#form1").validate({
rules: {
fld1: {
methodtwo: true,
methodone: true
}
},
messages: {
fld1: {
methodtwo: "<br> 2Wrong Project Name.",
methodone: "<br> 1Wrong Project Name."
}
}
});
});
$.validator.addMethod('methodone', function (value) {
return /^[a-zA-Z0-9]+$/.test(value);
}, 'wrong1.');
$.validator.addMethod('methodtwo', function (value) {
return /^[a-zA-Z^0-9]+$/.test(value);
}, 'wrong2.');
</script>
</head>
<body>
<form id="form1"name="form1" action="" method="get">
<table width="80%" border="0">
<tr>
<td><input type="text" name="fld1" id="idfld1"></td>
</tr>
<tr>
<td><input type="submit" name="submit" id="idsubmit"></td>
</tr>
</table>
</form>
</body>
</html>
上面的代碼執行後,我期待的是,如果我們進入
- 字母A-ZA-Z然後它會接受輸入,並接受
- 任何特殊字符它會顯示錯誤,它顯示錯誤
- 但是當我們輸入數字0-9時,我期待它會顯示methodtwo錯誤信息。但它接受它。
請解釋一下,爲什麼會發生這種情況?正如我正在檢查,如果兩個相反的驗證規則適用於一個字段會發生什麼。
請給我解釋一下朋友有沒有這個代碼有錯或者一個驗證規則壓制另一個?
謝謝!