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

📄 validate.js

📁 Joomla!除了具有新闻/文章管理
💻 JS
字号:
/*** @version		$Id: validate.js 7401 2007-05-14 04:12:55Z eddieajau $* @package		Joomla* @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php* Joomla! is free software. This version may have been modified pursuant* to the GNU General Public License, and as distributed it includes or* is derivative of works licensed under the GNU General Public License or* other free or open source software licenses.* See COPYRIGHT.php for copyright notices and details.*//** * Unobtrusive Form Validation library * * Inspired by: Chris Campbell <www.particletree.com> * * @package		Joomla.Framework * @subpackage	Forms * @since		1.5 */var JFormValidator = new Class({	initialize: function()	{		// Initialize variables		this.handlers	= Object();		this.custom		= Object();		// Default handlers		this.setHandler('username',			function (value) {				regex = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&]", "i");				return !regex.test(value);			}		);		this.setHandler('password',			function (value) {				regex=/^\S[\S ]{2,98}\S$/;				return regex.test(value);			}		);		this.setHandler('numeric',			function (value) {				regex=/^(\d|-)?(\d|,)*\.?\d*$/;				return regex.test(value);			}		);		this.setHandler('email',			function (value) {				regex=/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;				return regex.test(value);			}		);		// Attach to forms with class 'form-validate'		var forms = $$('form.form-validate');		forms.each(function(form){ this.attachToForm(form); }, this);	},	setHandler: function(name, fn, en)	{		en = (en == '') ? true : en;		this.handlers[name] = { enabled: en, exec: fn };	},	attachToForm: function(form)	{		// Iterate through the form object and attach the validate method to all input fields.		$A(form.elements).each(function(el){			el = $(el);			if ((el.getTag() == 'input' || el.getTag() == 'button') && el.getProperty('type') == 'submit') {				if (el.hasClass('validate')) {					el.onclick = function(){return document.formvalidator.isValid(this.form);};				}			} else {				el.addEvent('blur', function(){return document.formvalidator.validate(this);});			}		});	},	validate: function(el)	{		// If the field is required make sure it has a value		if ($(el).hasClass('required')) {			if (!($(el).getValue())) {				this.handleResponse(false, el);				return false;			}		}		// Only validate the field if the validate class is set		var handler = (el.className && el.className.search(/validate-([a-zA-Z0-9\_\-]+)/) != -1) ? el.className.match(/validate-([a-zA-Z0-9\_\-]+)/)[1] : "";		if (handler == '') {			this.handleResponse(true, el);			return true;		}		// Check the additional validation types		if ((handler) && (handler != 'none') && (this.handlers[handler]) && $(el).getValue()) {			// Execute the validation handler and return result			if (this.handlers[handler].exec($(el).getValue()) != true) {				this.handleResponse(false, el);				return false;			}		}		// Return validation state		this.handleResponse(true, el);		return true;	},	isValid: function(form)	{		var valid = true;		// Validate form fields		for (var i=0;i < form.elements.length; i++) {			if (this.validate(form.elements[i]) == false) {				valid = false;			}		}		// Run custom form validators if present		$A(this.custom).each(function(validator){			if (validator.exec() != true) {				valid = false;			}		});		return valid;	},	handleResponse: function(state, el)	{		// Find the label object for the given field if it exists		if (!(el.labelref)) {			var labels = $$('label');			labels.each(function(label){				if (label.getProperty('for') == el.getProperty('id')) {					el.labelref = label;				}			});		}		// Set the element and its label (if exists) invalid state		if (state == false) {			el.addClass('invalid');			if (el.labelref) {				$(el.labelref).addClass('invalid');			}		} else {			el.removeClass('invalid');			if (el.labelref) {				$(el.labelref).removeClass('invalid');			}		}	}});document.formvalidator = null;Window.onDomReady(function(){	document.formvalidator = new JFormValidator();});

⌨️ 快捷键说明

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