我正在努力寻找一种使用jQuery验证来验证IP地址的好解决方案。我有一个服务器端的方法,将采取Ip地址和子网掩码,让我知道它是否有效,但是,网页有两个输入放在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’,您将获得无效的地址,因为这不是/23网络的有效网络地址。然后,用户可以将网络地址更改为'10.0.0.0‘,或者将掩码更改为'24’,然后验证将为真,因为这是具有有效子网掩码的有效网络地址。但是,只有一个错误会从表单中清除。
我可以将相同的远程函数分配给每个输入,但它只会在更改时提供一个有效的类。因此,用户可能必须更改一些文本,以便事件将触发客户端的'onchange‘方法来再次验证表单。
再一次,提前感谢。
发布于 2011-02-01 06:00:59
但您不应该仅在客户端使用此验证。在提交之前操作每个数据是很容易的。你应该在服务器端检查它,如果你想在客户端也检查它…
在客户端,您可以在select控件中插入一个空状态,如"Select a value“。每次用户更改输入字段时,您都会将选择重置为起始位置,因为您清楚地知道这永远不会有效
https://stackoverflow.com/questions/4855080
复制相似问题