10
我有一個附有地圖的表單。點擊地圖將隱藏的輸入添加到窗體中的div。jQuery驗證:如何驗證非表單元素?
我想要一個驗證規則來檢查div是否有任何隱藏的元素。到目前爲止,我只能夠與我有張貼的形式之前手動刪除虛設的元素做到這一點:
<form action="..." method="post" id="signup">
<!-- ... -->
<div id="zones_selected"><input type="hidden" name="dummy"></div>
<!-- ... -->
</form>
$.validator.methods.zones = function (value, element, param) { return ($zone_holder.find('input[name!=dummy]').length > 0); };
$('#signup').validate({
rules: {
//...
'dummy': 'zones'
},
//...
submitHandler: function(form) { $(form).find('input[name=dummy]').remove(); form.submit(); }
});
然而,這些葉子很多不盡如人意的錯誤放置,因爲我的自定義驗證方法似乎沒有觸發過unhighlight
函數,並且我僅僅爲了表單驗證而輸入一個輸入(不是非常不顯眼),我覺得很骯髒。
我想要的是沒有額外的submitHandler
和一個規則來檢查隱藏輸入的存在,將有一個unhighlight
觸發器(如果用戶點擊地圖 - 這將創建一個新的隱藏輸入 - 我顯示的消息告訴他們這樣做將消失)。
完成此操作的最佳方法是什麼?