0
今天是我第一次尝试使用jQuery Validation插件。我的表单用于验证GPS坐标。jQuery Validation插件没有捕获错误
这里是我的规则和消息:
$(document).ready(function() {
// validate form when called
var validator =$("#box-registration").validate({
rules: {
latitude: {
min: 0,
max: 90,
number: true
},
longitude {
min: 0,
max: 180,
number: true
},
geo_dms {
min: 0,
max: 59,
number: true
}
},
messages: {
latitude: "Latitude must be between 0 and 90",
longitude: "Longitude must be between 0 and 180",
geo_dms: "Degree minutes and seconds must be between 0 and 59"
}
});
});
这里是我试图验证表单的一部分。我试图应用验证的元素的“地球LAT-DD”和“地理LON-DD”:
<div id="geo-format-dd">
<dl>
<dt><label class="labelstandard">Latitude</label></dt>
**<dd><input id="geo-lat-dd" name="geo-lat-dd" type="text" class="latitude textinput100 nonewrow"/></dd>**
<dd class="nonewrow">
<input type="radio" name="latDD" id="latDDN" checked="checked" value="N" class="nonewrow" /><label class="nonewrow" for="latDDN">N</label>
<input type="radio" name="latDD" id="latDDS" value="S" class="nonewrow" /><label class="nonewrow" for="latDDS">S</label>
</dd>
</dl>
<dl class="newrow">
<dt><label class="labelstandard">Longitude</label></dt>
**<dd><input id="geo-lon-dd" name="geo-lon-dd" type="text" class="longitude textinput100 nonewrow" /></dd>**
<dd class="nonewrow">
<input type="radio" name="lonDD" id="latDDW" checked="checked" value="W" class="nonewrow" /><label class="nonewrow" for="lonDDW">W</label>
</dd>
</dl>
</div>
两个元素有类“纬度”和“经度”应用,而我的验证插件规则包括那些类(也有度数分秒的字段,所以我试图重用类而不是使用ID)。
当我使用字段中的值9999验证表单时,不会显示错误消息。使用Firebug,我已经完成并确认验证代码正在运行,但它不会返回任何异常。
在规则,我也试图把一个点的选择,坠毁在页面的前面,还与一段引号引起的,像“.latitude”
可有人请点我在正确的方向弄清楚我做错了什么?
感谢您的意见。我猜最近12小时工作的时间太多了,可能会犯一些像缺少冒号的错误,并且不会发布我的代码的相关部分(#box-registration在我的文件中存在)。我会尝试将您的建议整合到我的代码中。 – 2012-03-05 16:05:45
我能够测试你的建议,它的工作原理。谢谢。有趣的是,我发现这些消息可以通过CSS类来分配,但正如你所说的,这些规则似乎需要通过元素ID来分配。 – 2012-03-06 15:36:58
修改我以前的评论 - 它实际上*不*通过CSS类显示我的消息。只是我的自定义消息非常接近默认值,我没有注意到它们之间的差异。 – 2012-03-14 18:16:47