/* *本插件原作者Vanadium,原文请移步前往http://vanadiumjs.com/查看 *本插件由Mr.Think中文整理,Mr.Think的博客:http://MrThink.net/ *转载及使用请务必注明原作者. */ //弹出信息样式设置 Vanadium.config = { valid_class: 'inputSus',//验证正确时表单样式 invalid_class: 'erroT',//验证失败时该表单样式 message_value_class: 'msgvaluecss',//这个样式是弹出信息中调用值的样式 advice_class: '',//验证失败时文字信息的样式 prefix: ':', separator: ';', reset_defer_timeout: 100 } //验证类型及弹出信息设置 Vanadium.Type = function(className, validationFunction, error_message, message, init) { this.initialize(className, validationFunction, error_message, message, init); }; Vanadium.Type.prototype = { initialize: function(className, validationFunction, error_message, message, init) { this.className = className; this.message = message; this.error_message = error_message; this.validationFunction = validationFunction; this.init = init; }, test: function(value) { return this.validationFunction.call(this, value); }, validMessage: function() { return this.message; }, invalidMessage: function() { return this.error_message; }, toString: function() { return "className:" + this.className + " message:" + this.message + " error_message:" + this.error_message }, init: function(parameter) { if (this.init) { this.init(parameter); } } }; Vanadium.setupValidatorTypes = function() { Vanadium.addValidatorType('empty', function(v) { return ((v == null) || (v.length == 0)); }); //***************************************以下为验证方法,使用时可仅保留用到的判断 Vanadium.addValidatorTypes([ //是否为空 ['required', function(v) { return !Vanadium.validators_types['empty'].test(v); }, '此项不可为空!'], //强制选中 ['accept', function(v, _p, e) { return e.element.checked; }, '必须接受!'], //邮箱验证 ['email', function (v) { return (Vanadium.validators_types['empty'].test(v) || /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)) }, '格式错误,例如xxx@xxx.xxx'], //输入固定长度字符串 ['length', function (v, p) { if (p === undefined) { return true } else { return v.length == parseInt(p) } ; }, function (_v, p) { return '输入字符长度等于' + p + '个.' } ], // ['min_length', function (v, p) { if (p === undefined) { return true } else { return v.length >= parseInt(p) } ; }, function (_v, p) { return '输入字符长度不低于' + p + '个.' } ], ['max_length', function (v, p) { if (p === undefined) { return true } else { return v.length <= parseInt(p) } ; }, function (_v, p) { return '输入字符长度不大于' + p + '个.' } ], //判断密码是相同 ['same_as', function (v, p) { if (p === undefined) { return true } else { var exemplar = document.getElementById(p); if (exemplar) return v == exemplar.value; else return false; } ; }, function (_v, p) { var exemplar = document.getElementById(p); if (exemplar) return '两次密码输入不相同.'; else return '没有可参考值!' }, "", function(validation_instance) { var exemplar = document.getElementById(validation_instance.param); if (exemplar){ jQuery(exemplar).bind('validate', function(){ jQuery(validation_instance.element).trigger('validate'); }); } } ], //ajax判断是否存在值 ['ajax', function (v, p, validation_instance, decoration_context, decoration_callback) { if (Vanadium.validators_types['empty'].test(v)) return true; if (decoration_context && decoration_callback) { jQuery.getJSON(p, { value: v, id: validation_instance.element.id }, function(data) { decoration_callback.apply(decoration_context, [[data], true]); }); } return true; }] ]) if (typeof(VanadiumCustomValidationTypes) !== "undefined" && VanadiumCustomValidationTypes) Vanadium.addValidatorTypes(VanadiumCustomValidationTypes); };