⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.js

📁 jquery+prototype+插件+源码+资料 非常的东西
💻 JS
📖 第 1 页 / 共 3 页
字号:
jQuery.validator.defaults.debug = true;module("validator");test("Constructor", function() {	var v1 = $("#testForm1").validate();	var v2 = $("#testForm1").validate();	equals( v1, v2, "Calling validate() multiple times must return the same validator instance" );	equals( 2, v1.elements().length, "validator must have two elements" );});test("validate() without elements, with non-form elements", function() {	$("#doesn'texist").validate();});test("valid() plugin method", function() {	var form = $("#userForm");	form.validate();	ok ( !form.valid(), "Form isn't valid yet" );	var input = $("#username");	ok ( !input.valid(), "Input isn't valid either" );	input.val("Hello world");	ok ( form.valid(), "Form is now valid" );	ok ( input.valid(), "Input is valid, too" );});test("addMethod", function() {	expect( 3 );	$.validator.addMethod("hi", function(value) {		return value == "hi";	}, "hi me too");	var method = $.validator.methods.hi;		e = $('#text1')[0];	ok( !method(e.value, e), "Invalid" );	e.value = "hi";	ok( method(e.value, e), "Invalid" );	ok( jQuery.validator.messages.hi == "hi me too", "Check custom message" );});test("addMethod2", function() {	expect( 4 );	$.validator.addMethod("complicatedPassword", function(value, element, param) {		return this.optional(element) || /\D/.test(value) && /\d/.test(value)	}, "Your password must contain at least one number and one letter");	var v = jQuery("#form").validate({		rules: {			action: { complicatedPassword: true }		}	});	var rule = $.validator.methods.complicatedPassword,		e = $('#text1')[0];	e.value = "";	ok( v.element(e) === undefined, "Rule is optional, valid" );	equals( 0, v.size() );	e.value = "ko";	ok( !v.element(e), "Invalid, doesn't contain one of the required characters" );	e.value = "ko1";	ok( v.element(e) );});test("form(): simple", function() {	expect( 2 );	var form = $('#testForm1')[0];	var v = $(form).validate();	ok( !v.form(), 'Invalid form' );	$('#firstname').val("hi");	$('#lastname').val("hi");	ok( v.form(), 'Valid form' );});test("form(): checkboxes: min/required", function() {	expect( 3 );	var form = $('#testForm6')[0];	var v = $(form).validate();	ok( !v.form(), 'Invalid form' );	$('#form6check1').attr("checked", true);	ok( !v.form(), 'Invalid form' );	$('#form6check2').attr("checked", true);	ok( v.form(), 'Valid form' );});test("form(): selects: min/required", function() {	expect( 3 );	var form = $('#testForm7')[0];	var v = $(form).validate();	ok( !v.form(), 'Invalid form' );	$("#optionxa").attr("selected", true);	ok( !v.form(), 'Invalid form' );	$("#optionxb").attr("selected", true);	ok( v.form(), 'Valid form' );});test("form(): with equalTo", function() {	expect( 2 );	var form = $('#testForm5')[0];	var v = $(form).validate();	ok( !v.form(), 'Invalid form' );	$('#x1, #x2').val("hi");	ok( v.form(), 'Valid form' );});test("check(): simple", function() {	expect( 3 );	var element = $('#firstname')[0];	var v = $('#testForm1').validate();	ok( v.size() == 0, 'No errors yet' );	v.check(element);	ok( v.size() == 1, 'error exists' );	v.errorList = [];	$('#firstname').val("hi");	v.check(element);	ok( !v.size() == 1, 'No more errors' );});test("hide(): input", function() {	expect( 3 );	var errorLabel = $('#errorFirstname');	var element = $('#firstname')[0];	element.value ="bla";	var v = $('#testForm1').validate();	errorLabel.show();	ok( errorLabel.is(":visible"), "Error label visible before validation" );	ok( v.element(element) );	ok( errorLabel.is(":hidden"), "Error label not visible after validation" );});test("hide(): radio", function() {	expect( 2 );	var errorLabel = $('#agreeLabel');	var element = $('#agb')[0];	element.checked = true;	var v = $('#testForm2').validate({ errorClass: "xerror" });	errorLabel.show();	ok( errorLabel.is(":visible"), "Error label visible after validation" );	v.element(element);	ok( errorLabel.is(":hidden"), "Error label not visible after hiding it" );});test("hide(): errorWrapper", function() {	expect(2);	var errorLabel = $('#errorWrapper');	var element = $('#meal')[0];	element.selectedIndex = 1;		errorLabel.show();	ok( errorLabel.is(":visible"), "Error label visible after validation" );	var v = $('#testForm3').validate({ wrapper: "li", errorLabelContainer: $("#errorContainer") });	v.element(element);	ok( errorLabel.is(":hidden"), "Error label not visible after hiding it" );});test("hide(): container", function() {	expect(5);	var errorLabel = $('#errorContainer');	var element = $('#testForm3')[0];	ok( errorLabel.is(":hidden"), "Error label not visible at start" );	var v = $('#testForm3').validate({ errorWrapper: "li", errorContainer: $("#errorContainer") });	v.form();	ok( errorLabel.is(":visible"), "Error label visible after validation" );	$('#meal')[0].selectedIndex = 1;	v.form();	ok( errorLabel.is(":hidden"), "Error label not visible after hiding it" );	$('#meal')[0].selectedIndex = -1;	v.element("#meal");	ok( errorLabel.is(":visible"), "Error label visible after validation" );	$('#meal')[0].selectedIndex = 1;	v.element("#meal");	ok( errorLabel.is(":hidden"), "Error label not visible after hiding it" );});test("valid()", function() {	expect(4);	var errorList = [{name:"meal",message:"foo", element:$("#meal")[0]}];	var v = $('#testForm3').validate();	ok( v.valid(), "No errors, must be valid" );	v.errorList = errorList;	ok( !v.valid(), "One error, must be invalid" );	reset();	v = $('#testForm3').validate({ submitHandler: function() {		ok( false, "Submit handler was called" );	}});	ok( v.valid(), "No errors, must be valid and returning true, even with the submit handler" );	v.errorList = errorList;	ok( !v.valid(), "One error, must be invalid, no call to submit handler" );});test("showErrors()", function() {	expect( 4 );	var errorLabel = $('#errorFirstname').hide();	var element = $('#firstname')[0];	var v = $('#testForm1').validate();	ok( errorLabel.is(":hidden") );	equals( 0, $("label.error[@for=lastname]").size() );	v.showErrors({"firstname": "required", "lastname": "bla"});	equals( true, errorLabel.is(":visible") );	equals( true, $("label.error[@for=lastname]").is(":visible") );});test("showErrors(), allow empty string and null as default message", function() {	$("#userForm").validate({		rules: {			username: {				required: true,				minlength: 3				}		},		messages: {			username: {				required: "",				minlength: "too short"			}			}	});	ok( !$("#username").valid() );	equals( "", $("label.error[@for=username]").text() );		$("#username").val("ab");	ok( !$("#username").valid() );	equals( "too short", $("label.error[@for=username]").text() );		$("#username").val("abc");	ok( $("#username").valid() );	ok( $("label.error[@for=username]").is(":hidden") );});test("showErrors() - external messages", function() {	expect( 4 );	var methods = $.extend({}, $.validator.methods);	var messages = $.extend({}, $.validator.messages);	$.validator.addMethod("foo", function() { return false; });	$.validator.addMethod("bar", function() { return false; });	equals( 0, $("#testForm4 label.error[@for=f1]").size() );	equals( 0, $("#testForm4 label.error[@for=f2]").size() );	var form = $('#testForm4')[0];	var v = $(form).validate({		messages: {			f1: "Please!",			f2: "Wohoo!"		}	});	v.form();	equals( "Please!", $("#testForm4 label.error[@for=f1]").text() );	equals( "Wohoo!", $("#testForm4 label.error[@for=f2]").text() );		$.validator.methods = methods;	$.validator.messages = messages;});test("showErrors() - custom handler", function() {	expect(5);	var v = $('#testForm1').validate({		showErrors: function(errorMap, errorList) {			equals( v, this );			equals( v.errorList, errorList );			equals( v.errorMap, errorMap );			equals( "buga", errorMap.firstname );			equals( "buga", errorMap.lastname );		}	});	v.form();});test("option: (un)highlight, default", function() {	expect(3);	$("#testForm1").validate();	var e = $("#firstname")	ok( !e.hasClass("error") );	e.valid()	ok( e.hasClass("error") );	e.val("hithere").valid()	ok( !e.hasClass("error") );});test("option: (un)highlight, nothing", function() {	expect(3);	$("#testForm1").validate({		highlight: false,		unhighlight: false	});	var e = $("#firstname")	ok( !e.hasClass("error") );	e.valid()	ok( !e.hasClass("error") );	e.valid()	ok( !e.hasClass("error") );});test("option: (un)highlight, custom", function() {	expect(6);	$("#testForm1").validate({		highlight: function(element, errorClass) {			equals( "invalid", errorClass );			$(element).hide();		},		unhighlight: function(element, errorClass) {			equals( "invalid", errorClass )			$(element).show();		},		errorClass: "invalid"	});	var e = $("#firstname")	ok( e.is(":visible") );	e.valid()	ok( !e.is(":visible") );	e.val("hithere").valid()	ok( e.is(":visible") );});test("option: (un)highlight, custom2", function() {	expect(6);	$("#testForm1").validate({		highlight: function(element, errorClass) {			$(element).addClass(errorClass);			$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);		},		unhighlight: function(element, errorClass) {			$(element).removeClass(errorClass);			$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);		},		errorClass: "invalid"	});	var e = $("#firstname")	var l = $("#errorFirstname")	ok( !e.is(".invalid") );	ok( !l.is(".invalid") );	e.valid()	ok( e.is(".invalid") );	ok( l.is(".invalid") );	e.val("hithere").valid()	ok( !e.is(".invalid") );	ok( !l.is(".invalid") );});test("rules() - internal - input", function() {	expect(4);	var element = $('#firstname')[0];	var v = $('#testForm1').validate();	var rule = v.rules(element);	equals( "required", rule[0].method );	equals( true, rule[0].parameters );	equals( "minlength", rule[1].method );	equals( 2, rule[1].parameters );});test("rules() - internal - select", function() {	expect(2);	var element = $('#meal')[0];	var v = $('#testForm3').validate();	var rule = v.rules(element);	equals( "required", rule[0].method );	ok( rule[0].parameters );});test("rules() - external", function() {	expect( 4 );	var element = $('#text1')[0];	var v = $('#form').validate({		rules: {			action: {date: true, min: 5}		}	});	var rule = v.rules(element);	equals( "date", rule[0].method );	ok( rule[0].parameters );	equals( "min", rule[1].method );	equals( 5, rule[1].parameters );});test("rules() - external - complete form", function() {	expect(1);		var methods = $.extend({}, $.validator.methods);	var messages = $.extend({}, $.validator.messages);		$.validator.addMethod("verifyTest", function() {		ok( true, "method executed" );		return true;	});	var element = $('#text1')[0];	var v = $('#form').validate({		rules: {			action: {verifyTest: true}		}	});	v.form();		$.validator.methods = methods;	$.validator.messages = messages;});test("rules() - internal - input", function() {	expect(7);	var element = $('#form8input')[0];	var v = $('#testForm8').validate();	var rule = v.rules(element);	equals( "required", rule[0].method );	equals( true, rule[0].parameters );	equals( "number", rule[1].method );	equals( true, rule[1].parameters );	equals( "rangelength", rule[2].method );	equals( 2, rule[2].parameters[0] );	equals( 8, rule[2].parameters[1] );});test("rules(), merge min/max to range, minlength/maxlength to rangelength", function() {	jQuery.validator.autoCreateRanges = true;	var v = $("#testForm1clean").validate({		rules: {			firstname: {				min: 5,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -