X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Web%2Fresources%2FWebUIValidation.js;h=52f5f6741efaa705d1a273578361fb15dfaadcfa;hb=f1984593a3bcb783ad14189be4a582ce82b4e1eb;hp=a3957d5a31bff4c1508b643a135bee3b223d6393;hpb=9ca95371fe7d1ac5b6d5fb3a2235d822b7458a30;p=mono.git diff --git a/mcs/class/System.Web/resources/WebUIValidation.js b/mcs/class/System.Web/resources/WebUIValidation.js index a3957d5a31b..52f5f6741ef 100644 --- a/mcs/class/System.Web/resources/WebUIValidation.js +++ b/mcs/class/System.Web/resources/WebUIValidation.js @@ -238,6 +238,60 @@ function ToCurrency (s) /*******************/ /* validators */ +function CompareValidatorEvaluateIsValid (validator) +{ + var ControlToCompare = validator.getAttribute ("controltocompare"); + var ValueToCompare = validator.getAttribute ("valuetocompare"); + var Operator = validator.getAttribute ("operator").toLowerCase(); + var ControlToValidate = validator.getAttribute ("controltovalidate"); + var DataType = validator.getAttribute ("datatype"); + + var ctrl_value = ValidatorTrim (ValidatorGetValue (ControlToValidate)); + var compare = (ControlToCompare != null && ControlToCompare != "") ? ValidatorTrim (ValidatorGetValue (ControlToCompare)) : ValueToCompare; + + var left = Convert (ctrl_value, DataType); + if (left == null) { + ValidatorFailed (validator); + return false; + } + + var right = Convert (compare, DataType); + if (right == null) { + ValidatorSucceeded (validator); + return true; + } + + var result = false; + + if (Operator == "equal") { + result = (left == right); + } + else if (Operator == "notequal") { + result = (left != right); + } + else if (Operator == "lessthan") { + result = (left < right); + } + else if (Operator == "lessthanequal") { + result = (left <= right); + } + else if (Operator == "greaterthan") { + result = (left > right); + } + else if (Operator == "greaterthanequal") { + result = (left >= right); + } + + if (result == false) { + ValidatorFailed (validator); + return false; + } + else { + ValidatorSucceeded (validator); + return true; + } +} + function RangeValidatorEvaluateIsValid (validator) { var MinimumValue = parseInt (validator.getAttribute ("minimumvalue")); @@ -308,6 +362,12 @@ function CustomValidatorEvaluateIsValid (validator) { var InitialValue = validator.getAttribute ("initialvalue"); var ControlToValidate = validator.getAttribute ("controltovalidate"); + + if (!ControlToValidate) { + ValidatorSucceeded (validator); + return true; + } + var evaluationfunc = validator.getAttribute ("clientvalidationfunction"); var ctrl_value = ValidatorTrim (ValidatorGetValue (ControlToValidate)); @@ -389,7 +449,7 @@ function ValidatorSucceeded (v) { v.innerHTML = ""; - ValidatorUpdateDisplay (v, false); + ValidatorUpdateDisplay (v, true); } function GetElement(id)