我正在使用jquery驗證插件來驗證我的表單。jquery驗證 - 調用一些元素的.valid()方法沒有清除錯誤
當我打電話在另一元件驗證一些元素則電流元件錯誤消息是沒有得到除去.valid()方法。
說我有元素E1和E2。元素E1的驗證方法是Method1。 在Method1中,如果我調用E2.valid()以編程觸發驗證。 即使認爲元素有效,E1中的錯誤消息也沒有被刪除。
請找到代碼。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Validate IP Address using jQuery</title>
<script type="text/javascript"
src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js">
</script>
<script type="text/javascript" src=
"http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js">
</script>
<script type="text/javascript">
$(document).ready((function() {
$.validator.addMethod('IP1Checker', function(value) {
$("#ip2").valid();
return isValidIPAddress(value);
}, 'Invalid IP address');
$.validator.addMethod('IP2Checker', function(value) {
return isValidIPAddress(value);
}, 'Invalid IP address');
$('#form1').validate({
rules: {
ip: {
required: true,
IP1Checker: true
},
ip2: {
required: true,
IP2Checker: true
}
}
});
function isValidIPAddress(value) {
var isValid = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(value);
if (isValid && (value === "0.0.0.0" || value === "255.255.255.255")) {
isValid = false;
}
return isValid;
}
}));
</script>
</head>
<body>
<form id="form1">
<input id="ip" name="ip" type="text" />
<input id="ip2" name="ip2" type="text" />
<input id="Submit2" type="submit" value="submit" />
</form>
</body>
</html>
謝謝。
可以請你提供一個小提琴。 – Bhumika107
請輸入您的代碼 – hmd
嗨Developer107和Hmd,我已經添加了代碼。如果在第一個方框中提供了錯誤的IP,例如「1.1.1.1S」,並移動到下一個方框,它將顯示無效的IP地址,如果刪除了S,並且仍然存在錯誤消息,則會顯示錯誤消息。 – JavaUser