2011-01-31 93 views
0

我很努力尋找一個好的解決方案,用jQuery驗證來驗證IP地址。我有一個服務器端的方法,將採取IP地址和子網掩碼,讓我知道,如果它的有效或不,網頁有兩個輸入IP地址Subnetmask組合。IP地址驗證與一個掩碼選擇輸入

<input id="NetworkAddress" class="required" name="NetworkAddress" type="text" value="" /> 
<select class="required" id="NetworkMask" name="NetworkMask"> 
<option value=""></option> 
<option value="255.255.255.254">31</option> 
<option value="255.255.255.252">30</option> 
....snip... 
</select> 

是否有某種方法可以爲這兩個輸入分配一個驗證規則。因爲如果您輸入網絡地址,然後選擇無效的網絡掩碼,則用戶可以更改任一輸入來修復地址。

例如:

如果您在'10鍵入.0.1.0' ,選擇‘從下拉23’下來,你會得到一個無效的地址,因爲這不是一個有效的網絡地址爲A/23網絡。然後,用戶可以將網絡地址更改爲'10.0.0.0',或者可以將掩碼更改爲'24',然後驗證結果爲真,因爲這是具有有效子網掩碼的有效網絡地址。但是隻有一個錯誤會從表格中清除。

我可以爲每個輸入分配相同的遠程函數,但它只會給你改變一個有效的類時,你改變它。所以用戶可能不得不改變一些文本,這樣事件會觸發客戶端的'onchange'方法來再次驗證表單。

再次,在此先感謝。

+0

您能否顯示驗證碼? – Luke 2011-01-31 22:06:28

回答

2

但是您不應該僅在客戶端使用此驗證。提交前很容易處理每個數據。你應該檢查它在服務器端,如果你想在客戶端太...

在客戶端,你可以插入到選擇控制一個空的狀態,如「選擇一個值」。每次用戶更改輸入字段時,您都會將選擇重置爲開始,您知道此信息無法生效