From ca47a8c7fd5eb9f34ac00a2f1a843859d6123dd8 Mon Sep 17 00:00:00 2001 From: wei <> Date: Mon, 16 Jan 2006 02:43:30 +0000 Subject: --- framework/Web/Javascripts/base/validators.js | 225 --------------------------- 1 file changed, 225 deletions(-) delete mode 100644 framework/Web/Javascripts/base/validators.js (limited to 'framework/Web/Javascripts/base/validators.js') diff --git a/framework/Web/Javascripts/base/validators.js b/framework/Web/Javascripts/base/validators.js deleted file mode 100644 index 427b46fc..00000000 --- a/framework/Web/Javascripts/base/validators.js +++ /dev/null @@ -1,225 +0,0 @@ - -Prado.Validation.TRequiredFieldValidator=function(){ - var inputType = this.control.getAttribute("type"); - if(inputType == 'file'){ - return true; - } - else{ - var trim=Prado.Util.trim; - var a=trim(Form.Element.getValue(this.control)); - var b=trim(this.attr.initialvalue); - return(a!=b); - } -} - - -Prado.Validation.TRegularExpressionValidator = function() -{ - var trim = Prado.Util.trim; - var value = trim(Form.Element.getValue(this.control)); - if (value == "") return true; - var rx = new RegExp(this.attr.validationexpression); - var matches = rx.exec(value); - return (matches != null && value == matches[0]); -} - -Prado.Validation.TEmailAddressValidator = Prado.Validation.TRegularExpressionValidator; - -Prado.Validation.TCustomValidator = function() -{ - var value = isNull(this.control) ? null : $F(this.control); - var func = this.attr.clientvalidationfunction; - eval("var validate = "+func); - return validate && isFunction(validate) ? validate(this, value) : true; -} - -Prado.Validation.TRangeValidator = function() -{ - var trim = Prado.Util.trim; - var value = trim(Form.Element.getValue(this.control)); - if (value == "") return true; - - var minval = this.attr.minimumvalue; - var maxval = this.attr.maximumvalue; - - if (undef(minval) && undef(maxval)) - return true; - - if (minval == "") minval = 0; - if (maxval == "") maxval = 0; - - var dataType = this.attr.type; - - if(undef(dataType)) - return (parseFloat(value) >= parseFloat(minval)) && (parseFloat(value) <= parseFloat(maxval)); - - //now do datatype range check. - var min = this.convert(dataType, minval); - var max = this.convert(dataType, maxval); - value = this.convert(dataType, value); - return value >= min && value <= max; -} - -Prado.Validation.TCompareValidator = function() -{ - var trim = Prado.Util.trim; - var value = trim(Form.Element.getValue(this.control)); - if (value.length == 0) return true; - - var compareTo; - - var comparee = $(this.attr.controlhookup);; - - if(comparee) - compareTo = trim(Form.Element.getValue(comparee)); - else - { - compareTo = isString(this.attr.valuetocompare) ? this.attr.valuetocompare : ""; - } - - var compare = Prado.Validation.TCompareValidator.compare; - - var isValid = compare.bind(this)(value, compareTo); - - //update the comparee control css class name and add onchange event once. - if(comparee) - { - var className = this.attr.controlcssclass; - if(isString(className) && className.length>0) - Element.condClassName(comparee, className, !isValid); - if(undef(this.observingComparee)) - { - Event.observe(comparee, "change", this.validate.bind(this)); - this.observingComparee = true; - } - } - return isValid; -} - -/** - * Compare the two values, also performs data type check. - * @param {string} value to compare with - * @param {string} value to compare - * @type {boolean} true if comparison or type check is valid, false otherwise. - */ -Prado.Validation.TCompareValidator.compare = function(operand1, operand2) -{ - var op1, op2; - if ((op1 = this.convert(this.attr.type, operand1)) == null) - return false; - if (this.attr.operator == "DataTypeCheck") - return true; - if ((op2 = this.convert(this.attr.type, operand2)) == null) - return true; - switch (this.attr.operator) - { - case "NotEqual": - return (op1 != op2); - case "GreaterThan": - return (op1 > op2); - case "GreaterThanEqual": - return (op1 >= op2); - case "LessThan": - return (op1 < op2); - case "LessThanEqual": - return (op1 <= op2); - default: - return (op1 == op2); - } -} - -Prado.Validation.TRequiredListValidator = function() -{ - var min = undef(this.attr.min) ? Number.NEGATIVE_INFINITY : parseInt(this.attr.min); - var max = undef(this.attr.max) ? Number.POSITIVE_INFINITY : parseInt(this.attr.max); - - var elements = document.getElementsByName(this.attr.selector); - - if(elements.length <= 0) - elements = document.getElementsBySelector(this.attr.selector); - - if(elements.length <= 0) - return true; - - var required = new Array(); - if(isString(this.attr.required) && this.attr.required.length > 0) - required = this.attr.required.split(/,\s* /); - - var isValid = true; - - var validator = Prado.Validation.TRequiredListValidator; - - switch(elements[0].type) - { - case 'radio': - case 'checkbox': - isValid = validator.IsValidRadioList(elements, min, max, required); - break; - case 'select-multiple': - isValid = validator.IsValidSelectMultipleList(elements, min, max, required); - break; - } - - var className = this.attr.elementcssclass; - if(isString(className) && className.length>0) - map(elements, function(element){ condClass(element, className, !isValid); }); - if(undef(this.observingRequiredList)) - { - Event.observe(elements, "change", this.validate.bind(this)); - this.observingRequiredList = true; - } - return isValid; -} - -//radio group selection -Prado.Validation.TRequiredListValidator.IsValidRadioList = function(elements, min, max, required) -{ - var checked = 0; - var values = new Array(); - for(var i = 0; i < elements.length; i++) - { - if(elements[i].checked) - { - checked++; - values.push(elements[i].value); - } - } - return Prado.Validation.TRequiredListValidator.IsValidList(checked, values, min, max, required); -} - -//multiple selection check -Prado.Validation.TRequiredListValidator.IsValidSelectMultipleList = function(elements, min, max, required) -{ - var checked = 0; - var values = new Array(); - for(var i = 0; i < elements.length; i++) - { - var selection = elements[i]; - for(var j = 0; j < selection.options.length; j++) - { - if(selection.options[j].selected) - { - checked++; - values.push(selection.options[j].value); - } - } - } - return Prado.Validation.TRequiredListValidator.IsValidList(checked, values, min, max, required); -} - -//check if the list was valid -Prado.Validation.TRequiredListValidator.IsValidList = function(checkes, values, min, max, required) -{ - var exists = true; - - if(required.length > 0) - { - //required and the values must at least be have same lengths - if(values.length < required.length) - return false; - for(var k = 0; k < required.length; k++) - exists = exists && values.contains(required[k]); - } - - return exists && checkes >= min && checkes <= max; -} -- cgit v1.2.3