23 8月 2010

jQuery Validation (2)

jQuery Validate還有些設定與使用方式可以利用

Debug mode: 在options中,加入debug:true後,即便是所有validation都沒有錯誤也不會行submit,真的是讓人debug用

<script language="JavaScript">
$().ready(function() {
	$("#myForm").validate({
		debug : true	
	});
});
</script>

submitHandler:預設的submitHandler是在所有validation都通過後直接執行form.submit(),修改default submitHandler可以做兩件事,一是檢查基本validation難以檢查的資料,二是可以改用ajax或其他方式執行submit,而submit之後也可以利用blockui等其他plugin避免重覆submit

<script language="JavaScript">
$().ready(function() {
	$("#myForm").validate({
		submitHandler : function(form) {
			$(form).ajaxSubmit();
		}
	});
});
</script>

messages:自訂錯誤提示的訊息

<script language="JavaScript">
$().ready(function() {
	$("#myForm").validate({
		rules : {
			name : {required : true},
		},
		messages : {
			name : "Please fill your name here."
		}
	});
});
</script> 

增加自訂的validation method,這些method也可以另外寫在一個js檔案以方便其他人共用

<script language="JavaScript">
//新增一個gt的method, param可以是一個陣列
$.validator.methods.gt = function(value, element, param){
	return (value > param);
};
//要求age必需大於5,並加入提示錯誤的message,利用{0},{1}可以代入param裡的值
$().ready(function() {
	$("#myForm").validate({
		rules : {
			age : {
				gt:5
			}
		},
		messages : {
			age : {
				gt : "must be great than {0}"
			}
		}
	});
});
</script>

沒有留言: