Jquery Validation sonradan kural ekleme

Ağustos 25th, 2010

Selamlar,
ben genelde formlarimi client tarafinda Jquery Validate Plugin i ile kontrol ettitirim.
Iki benzer formum var, ikincisinde ama baska alanlarda bulundugu icin onlari da ekstradan kontroll ettirmem gerekiyor.
Tüm js kodunu kopyalayip yeniden yaza biliriz ama, o tabiki güzel olmaz.
onun icin validator a yama yapalim. nasilmi iste böyle:
ana validator dosyamiz :

$(document).ready(function(){
	$('form#regit div div.element').append('<div class="errormessage" style="display:inline;"></div>');

	var validator = $("form#regit").validate({
		 ignore: "input[type=hidden]",

		rules: {
			reg_email: {
				required: true,
				email: true,
				remote: "/an/checkemail/"
			},
			reg_password: {
				required: true,
				minlength:4
			},
			reg_password2:{
				required:true,
				minlength:4,
				equalTo:"#reg_password"
			},
			agb: "required"

		},
		messages: {
			reg_email: {
				required: Message["email_required"],
				email: Message["email_notok"],
				remote: Message["email_exists"]
			},
			reg_password: {
				required : Message["pass_required"],
				minlength: Message["pass_length"]
			},
			reg_password2: {
				required : Message["pass_required"],
				minlength: Message["pass_length"],
				equalTo: Message["pass_equal"]
			},
			agb:Message["agb_required"]

		},
		success: function(label) {
			if(label[0].htmlFor=="agb")
				label.removeClass('error');
			else
				label.addClass("valid");
		   },

		errorPlacement: function(error, element) {
			if ( element.is(":hidden") ){
				element.next().next().html(error);
			}
			else{
				element.next($('div.errormessage')).html(error);
			}
        } 

	});

});

yama yaptigimiz dosya:

$(document).ready(function(){
	$('#reg_email').rules("add",{
		remote: "/ag/checkemail/"
	});
	$('#company').rules("add",{
		required: true,
		minlength:4,
		messages:{
			required:Message["company_required"],
			minlength: Message["company_length"]
		}
	});
	$('#branch_id').rules("add",{
		required: true,
		messages: {
			required: Message["branch_required"]
		}
	});
});

#reg_email de remote adresini degistiriyoruz,
ve iki extra kontrol alani daha ekliyoruz validatorumuza.

Bu satirlar bana özel: Message["email_required"] siz oralara kendi hata mesajlarinizi yaza bilirsiniz.

ps:
bir alana tamamiyle baska kurallar eklemek icinse remove metodunu kullanarak ekli olan kurallari sile bilirsiniz.

$('#reg_email').rules("remove");

Kategoriler: Javascript/Ajax/Jquery

Etiketler:, Yorum yapın

Yorum yapın

Feed

http://www.skorp.eu / Jquery Validation sonradan kural ekleme