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