最近作表單驗證用了easyui form組件。又一次發如今測試表單都填寫正確了可是調試表單的代碼監測到調用form的"validate"方法老是返回falsejavascript
最後查了一下緣由在html中寫的是easyui-validatebox可是在script中卻又聲明瞭$('#field1').combobox();css
<form id="form1"> <input type="text" id="field1" class="easyui-validatebox" value=""> <script type="text/javascript"> $('#field1').combobox() </script> </form>
這裏給出一個排錯的方法! 這裏給出一個排錯的方法! 這裏給出一個排錯的方法!html
這裏引用了一個jquery插件回收表單對象java
<script src="https://cdn.bootcss.com/jquery.serializeJSON/2.9.0/jquery.serializejson.js"></script>jquery
function checkeFormTest(target) {
//回收表單對象 var formObject = $(target).serializeJson(); var fieldTypes = jQuery.parser.plugins; for (var i = 0; i < fieldTypes.length; i++) { var typeName; var type = fieldTypes[i]; var field = $(target).find('.ui-' + type); if (field.length) { var state = field.data(type); if (state) { for (name in formObject) { if (!field[type]('isValid')) { typeName = type; break; } } } } if (typeName) { alert("嘿兄跌,你的name=" + name + "的" + typeName + "類型的控件沒有驗證經過!") break; } } } //執行一下就知道form裏面哪一個沒有驗證過去好對症下藥了,兄跌 $(function () { checkeFormTest($('#form1')); })
這樣表單驗證器 頁面填寫正確了,可是仍是驗證不過去。json
還有一種狀況多是你的驗證規則有問題。jquery插件
技術交流QQ羣:15129679測試