記錄一下:
日常開發中我們常使用jquery.validate.js來做表單驗證,常用的有required(必填)、maxlength(最大長度)等等。
有的時候會用到驗證某個字段是否已經存在,可以使用jquery.validate.js的remote,具體用法如下:
<script type="text/javascript">
var validate = null; $(document).ready(function(){ validate = $('#testForm').validate({ onkeyup:false, onfocusout: function(element){ if (element.value != null && element.value != "") { $(element).valid(); } }, rules:{ userName:{ required: url:'checkUserNameExist', type:'post', dataType: "json", cache:false, async:false, data:{userName:function(){return $("#userName" } }, messages:{ routeCode:{ required:"用戶名不能為空", remote: "該用戶名已經存在" } }, errorPlacement: function(error, element) { layer.tips(error.text(), '#'+element.attr("name"), { tips: [1, '#78BA32'] }); } }); });
/* 數據保存 */
function updateSave() {
// 驗證數據
if (!validate.form()) {
return false;
}
......
}
</script>
原理其實就是調用了一次ajax請求:checkUserNameExist,在后台checkUserNameExist方法里面根據傳過來的userName查數據,如果查到了返回false,沒有查到返回true。即可實現驗證用戶名是否存在。