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

📄 validationtextbox.js

📁 对java中如何使用Ajax技术
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.widget.ValidationTextbox");dojo.require("dojo.widget.Textbox");dojo.require("dojo.i18n.common");dojo.widget.defineWidget(	"dojo.widget.ValidationTextbox",	dojo.widget.Textbox,	function() {		// summary:		//		A subclass of Textbox.		//		Over-ride isValid in subclasses to perform specific kinds of validation.				// this property isn't a primitive and needs to be created on a per-item basis.		this.flags = {};	},	{		// default values for new subclass properties		// required: Boolean		//		Can be true or false, default is false.		required: false,		rangeClass: "range",		// invalidClass: String		//		Class used to format displayed text in page if necessary to override default class		invalidClass: "invalid",		// missingClass: String		//		Override default class used for missing input data		missingClass: "missing",		classPrefix: "dojoValidate",		// size: String		//		Basic input tag size declaration.		size: "",		// maxlength: String		//		Basic input tag maxlength declaration.			maxlength: "",		// promptMessage: String		//		Will not issue invalid message if field is populated with default user-prompt text		promptMessage: "",		// invalidMessage: String		// 		The message to display if value is invalid.		invalidMessage: "",		// missingMessage: String		//		The message to display if value is missing.		missingMessage: "",		rangeMessage: "",		// listenOnKeyPress: Boolean		//		Updates messages on each key press.  Default is true.		listenOnKeyPress: true,		htmlfloat: "none",		lastCheckedValue: null,			templatePath: dojo.uri.dojoUri("src/widget/templates/ValidationTextbox.html"),		templateCssPath: dojo.uri.dojoUri("src/widget/templates/Validate.css"),				// new DOM nodes		invalidSpan: null,		missingSpan: null,		rangeSpan: null,		getValue: function() {			return this.textbox.value;		},			setValue: function(value) {			this.textbox.value = value;			this.update();		},			isValid: function() {			// summary: Need to over-ride with your own validation code in subclasses			return true;		},			isInRange: function() {			// summary: Need to over-ride with your own validation code in subclasses			return true;		},			isEmpty: function() {			// summary: Checks for whitespace			return ( /^\s*$/.test(this.textbox.value) ); // Boolean		},			isMissing: function() {			// summary: Checks to see if value is required and is whitespace			return ( this.required && this.isEmpty() ); // Boolean		},			update: function() {			// summary:			//		Called by oninit, onblur, and onkeypress.			// description:			//		Show missing or invalid messages if appropriate, and highlight textbox field.			this.lastCheckedValue = this.textbox.value;			this.missingSpan.style.display = "none";			this.invalidSpan.style.display = "none";			this.rangeSpan.style.display = "none";				var empty = this.isEmpty();			var valid = true;			if(this.promptMessage != this.textbox.value){ 				valid = this.isValid(); 			}			var missing = this.isMissing();				// Display at most one error message			if(missing){				this.missingSpan.style.display = "";			}else if( !empty && !valid ){				this.invalidSpan.style.display = "";			}else if( !empty && !this.isInRange() ){				this.rangeSpan.style.display = "";			}			this.highlight();		},				updateClass: function(className){			// summary: used to ensure that only 1 validation class is set at a time			var pre = this.classPrefix;			dojo.html.removeClass(this.textbox,pre+"Empty");			dojo.html.removeClass(this.textbox,pre+"Valid");			dojo.html.removeClass(this.textbox,pre+"Invalid");			dojo.html.addClass(this.textbox,pre+className);		},				highlight: function() {			// summary: by Called oninit, and onblur.						// highlight textbox background 			if (this.isEmpty()) {				this.updateClass("Empty");			}else if (this.isValid() && this.isInRange() ){				this.updateClass("Valid");			}else if(this.textbox.value != this.promptMessage){ 				this.updateClass("Invalid");			}else{				this.updateClass("Empty");			}		},			onfocus: function(evt) {			if ( !this.listenOnKeyPress) {				this.updateClass("Empty");//			    this.textbox.style.backgroundColor = "";			}		},			onblur: function(evt) { 			this.filter();			this.update(); 		},			onkeyup: function(evt){ 			if(this.listenOnKeyPress){ 				//this.filter();  trim is problem if you have to type two words				this.update(); 			}else if (this.textbox.value != this.lastCheckedValue){				this.updateClass("Empty");//			    this.textbox.style.backgroundColor = "";			}		},		postMixInProperties: function(localProperties, frag) {			dojo.widget.ValidationTextbox.superclass.postMixInProperties.apply(this, arguments);			this.messages = dojo.i18n.getLocalization("dojo.widget", "validate", this.lang);			dojo.lang.forEach(["invalidMessage", "missingMessage", "rangeMessage"], function(prop) {				if(this[prop]){ this.messages[prop] = this[prop]; }			}, this);		},			fillInTemplate: function() {			dojo.widget.ValidationTextbox.superclass.fillInTemplate.apply(this, arguments);			// Attach isMissing and isValid methods to the textbox.			// We may use them later in connection with a submit button widget.			// TODO: this is unorthodox; it seems better to do it another way -- Bill			this.textbox.isValid = function() { this.isValid.call(this); };			this.textbox.isMissing = function() { this.isMissing.call(this); };			this.textbox.isInRange = function() { this.isInRange.call(this); };			dojo.html.setClass(this.invalidSpan,this.invalidClass);			this.update(); 						// apply any filters to initial value			this.filter();			// set table to be inlined (technique varies by browser)			// TODO: use method in dojo.html that does this			if(dojo.render.html.ie){ dojo.html.addClass(this.domNode, "ie"); }			if(dojo.render.html.moz){ dojo.html.addClass(this.domNode, "moz"); }			if(dojo.render.html.opera){ dojo.html.addClass(this.domNode, "opera"); }			if(dojo.render.html.safari){ dojo.html.addClass(this.domNode, "safari"); }		}	});

⌨️ 快捷键说明

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