X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Web%2Fresources%2FWebUIValidation_2.0.js;h=085f08d4a248cb4ec5c7927f94636401c6732039;hb=6c035e225abc36a15501a03f574744824225350b;hp=b614bb6b462086837492bd9fe524d08f439d2ee4;hpb=6f733d05c2435bec596fbc357fd4c62219d57622;p=mono.git
diff --git a/mcs/class/System.Web/resources/WebUIValidation_2.0.js b/mcs/class/System.Web/resources/WebUIValidation_2.0.js
index b614bb6b462..085f08d4a24 100644
--- a/mcs/class/System.Web/resources/WebUIValidation_2.0.js
+++ b/mcs/class/System.Web/resources/WebUIValidation_2.0.js
@@ -26,74 +26,72 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-var have_validation_summaries = false;
+function WebFormValidation_Initialize(webForm) {
-function SetValidatorContext (currForm)
+webForm.have_validation_summaries = false;
+
+webForm.HaveRegexp = function ()
{
- if (currForm.Page_Validators && (Page_Validators != currForm.Page_Validators)) {
- Page_Validators = currForm.Page_Validators;
- Page_ValidationSummaries = currForm.Page_ValidationSummaries;
- ValidatorOnLoad ();
- }
+ if (window.RegExp)
+ return true;
+ return false;
}
-function ValidatorOnLoad ()
+webForm.ValidatorOnLoad = function ()
{
- if (typeof (Page_ValidationSummaries) != 'undefined' && Page_ValidationSummaries != null) {
- have_validation_summaries = true;
- for (var v = 0; v < Page_ValidationSummaries.length; v++) {
- var vs = Page_ValidationSummaries [v];
- if (vs.getAttribute ("validationgroup") == null)
- vs.setAttribute ("validationgroup", "");
- }
+ if (typeof (webForm.Page_ValidationSummaries) != 'undefined' && webForm.Page_ValidationSummaries != null) {
+ webForm.have_validation_summaries = true;
}
- for (var v = 0; v < Page_Validators.length; v++) {
- var vo = Page_Validators [v];
+ for (var v = 0; v < webForm.Page_Validators.length; v++) {
+ var vo = webForm.Page_Validators [v];
- if (vo.getAttribute ("isvalid") == null)
- vo.setAttribute ("isvalid", "true");
+ if (typeof(vo.isvalid) == "string" && vo.isvalid == "False")
+ vo._isvalid = false;
+ else
+ vo._isvalid = true;
- if (vo.getAttribute ("enabled") == null)
- vo.setAttribute ("enabled", "true");
-
- if (vo.getAttribute ("validationgroup") == null)
- vo.setAttribute ("validationgroup", "");
+ if (typeof(vo.enabled) == "string" && vo.enabled == "False")
+ vo._enabled = false;
+ else
+ vo._enabled = true;
+
+ if (typeof(vo.evaluationfunction) == "string")
+ vo.evaluationfunction = webForm [vo.evaluationfunction];
}
- Page_ValidationActive = true;
+ webForm.Page_ValidationActive = true;
}
-var validation_result = true;
+webForm.validation_result = true;
-function ValidationSummaryOnSubmit (group)
+webForm.ValidationSummaryOnSubmit = function (group)
{
/* handle validation summaries here */
- if (validation_result == false && have_validation_summaries) {
+ if (webForm.validation_result == false && webForm.have_validation_summaries) {
- for (var vi = 0; vi < Page_ValidationSummaries.length; vi++) {
- var vs = Page_ValidationSummaries[vi];
+ for (var vi = 0; vi < webForm.Page_ValidationSummaries.length; vi++) {
+ var vs = webForm.Page_ValidationSummaries[vi];
- if(IsValidationGroupMatch(vs, group)) {
+ if(webForm.IsValidationGroupMatch(vs, group)) {
- var header = vs.getAttribute ("headertext");
- if (header == null)
- header = "";
+ var header = "";
+ if(typeof(vs.headertext)=="string")
+ header = vs.headertext;
- attr = vs.getAttribute ("showsummary");
- if (attr == null || attr.toLowerCase() == "true") {
- var displaymode = vs.getAttribute ("displaymode");
- if (displaymode == null) displaymode = "Bulleted";
+ if (vs.showsummary != "False") {
+ if (typeof(vs.displaymode) != "string")
+ vs.displaymode = "BulletList";
var html = "";
- if (displaymode == "List") {
+ if (vs.displaymode == "List") {
list_pre = "";
list_post = "";
item_pre = "";
item_post = "
";
}
- else if (displaymode == "SingleParagraph") {
+ else if (vs.displaymode == "SingleParagraph") {
list_pre = "";
list_post = "
";
item_pre = "";
@@ -108,11 +106,11 @@ function ValidationSummaryOnSubmit (group)
html += header;
html += list_pre;
- for (var v = 0; v < Page_Validators.length; v++) {
- var vo = Page_Validators [v];
+ for (var v = 0; v < webForm.Page_Validators.length; v++) {
+ var vo = webForm.Page_Validators [v];
- if (vo.getAttribute ("isvalid").toLowerCase() == "false") {
- var text = ValidatorGetErrorMessage (vo);
+ if (!vo._isvalid) {
+ var text = vo.errormessage;
if (text != null && text != "") {
html += item_pre + text + item_post;
}
@@ -124,15 +122,14 @@ function ValidationSummaryOnSubmit (group)
vs.style.display = "block";
}
- attr = vs.getAttribute ("showmessagebox");
- if (attr != null && attr.toLowerCase() == "true") {
+ if (vs.showmessagebox == "True") {
var v_contents = "";
- for (var v = 0; v < Page_Validators.length; v++) {
- var vo = Page_Validators [v];
+ for (var v = 0; v < webForm.Page_Validators.length; v++) {
+ var vo = webForm.Page_Validators [v];
- if (vo.getAttribute ("isvalid").toLowerCase() == "false") {
- var text = ValidatorGetErrorMessage (vo);
+ if (!vo._isvalid) {
+ var text = vo.errormessage;
if (text != null && text != "") {
v_contents += "-" + text + "\n";
}
@@ -150,16 +147,16 @@ function ValidationSummaryOnSubmit (group)
}
}
-function ValidatorCommonOnSubmit ()
+webForm.ValidatorCommonOnSubmit = function ()
{
- rv = validation_result;
- validation_result = true;
+ var rv = webForm.validation_result;
+ webForm.validation_result = true;
return rv;
}
-function ValidatorGetValue (controlname)
+webForm.ValidatorGetValue = function (controlname)
{
- var el = GetElement (controlname);
+ var el = webForm.GetElement (controlname);
/* if the element has a 'value' attribute, return it */
if (typeof (el.value) != 'undefined' && el.value != null) {
@@ -171,9 +168,23 @@ function ValidatorGetValue (controlname)
if (typeof (el.selectedIndex) != 'undefined') {
return el.options[el.selectedIndex].value;
}
+
+ return webForm.ValidatorGetValueRecursive(el);
}
-function ValidatorTrim (s)
+webForm.ValidatorGetValueRecursive = function (el)
+{
+ if (typeof(el.value) == "string") {
+ if (el.type != "radio" || el.checked == true) return el.value;
+ }
+ for (var i = 0; i 0);
+ var beginGroupSize, subsequentGroupSize;
+ var groupSizeNum = parseInt(validator.groupsize, 10);
+ if (!isNaN(groupSizeNum) && groupSizeNum > 0) {
+ beginGroupSize = "{1," + groupSizeNum + "}";
+ subsequentGroupSize = "{" + groupSizeNum + "}";
+ }
+ else {
+ beginGroupSize = subsequentGroupSize = "+";
+ }
+ var exp = new RegExp("^\\s*([-\\+])?((\\d" + beginGroupSize + "(\\" + validator.groupchar + "\\d" + subsequentGroupSize + ")+)|\\d*)"
+ + (hasDigits ? "\\" + validator.decimalchar + "?(\\d{0," + validator.digits + "})" : "")
+ + "\\s*$");
+ var m = s.match(exp);
+ if (m == null)
+ return null;
+ if (m[2].length == 0 && hasDigits && m[5].length == 0)
+ return null;
+ var cleanInput = (m[1] != null ? m[1] : "") + m[2].replace(new RegExp("(\\" + validator.groupchar + ")", "g"), "") + ((hasDigits && m[5].length > 0) ? "." + m[5] : "");
+ var num = parseFloat(cleanInput);
+ return (isNaN(num) ? null : num);
}
-function GetFullYear(year, maxYear)
+webForm.GetFullYear = function (year, maxYear)
{
var twoDigitMaxYear = maxYear % 100;
var centure = maxYear - twoDigitMaxYear;
@@ -333,26 +370,38 @@ function GetFullYear(year, maxYear)
/*******************/
/* validators */
-function CompareValidatorEvaluateIsValid (validator)
+webForm.CompareValidatorEvaluateIsValid = function (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 Operator = validator.operator.toLowerCase();
+ var ControlToValidate = validator.controltovalidate;
+ var DataType = validator.type;
- var left = Convert (ctrl_value, DataType, validator);
+ var ctrl_value = webForm.ValidatorGetValue (ControlToValidate);
+ if (webForm.ValidatorTrim (ctrl_value) == "") {
+ webForm.ValidatorSucceeded (validator);
+ return true;
+ }
+
+ var left = webForm.Convert (ctrl_value, DataType, validator);
if (left == null) {
- ValidatorFailed (validator);
+ webForm.ValidatorFailed (validator);
return false;
}
+
+ if (Operator == "datatypecheck") {
+ webForm.ValidatorSucceeded (validator);
+ return true;
+ }
- var right = compare != null ? Convert (compare, DataType, validator) : null;
+ var compare = "";
+ if (typeof(validator.controltocompare) == "string" && document.getElementById(validator.controltocompare))
+ compare = webForm.ValidatorGetValue(validator.controltocompare);
+ else if (typeof(validator.valuetocompare) == "string")
+ compare = validator.valuetocompare;
+
+ var right = compare != null ? webForm.Convert (compare, DataType, validator) : null;
if (right == null) {
- ValidatorSucceeded (validator);
+ webForm.ValidatorSucceeded (validator);
return true;
}
@@ -378,100 +427,99 @@ function CompareValidatorEvaluateIsValid (validator)
}
if (result == false) {
- ValidatorFailed (validator);
+ webForm.ValidatorFailed (validator);
return false;
}
else {
- ValidatorSucceeded (validator);
+ webForm.ValidatorSucceeded (validator);
return true;
}
}
-function RangeValidatorEvaluateIsValid (validator)
+webForm.RangeValidatorEvaluateIsValid = function (validator)
{
- var MinimumValue = parseInt (validator.getAttribute ("minimumvalue"));
- var MaximumValue = parseInt (validator.getAttribute ("maximumvalue"));
- var ControlToValidate = validator.getAttribute ("controltovalidate");
- var DataType = validator.getAttribute ("datatype");
+ var ControlToValidate = validator.controltovalidate;
+ var DataType = validator.type;
- var ctrl_value = ValidatorTrim (ValidatorGetValue (ControlToValidate));
+ var ctrl_value = webForm.ValidatorTrim (webForm.ValidatorGetValue (ControlToValidate));
if (ctrl_value == "") {
- ValidatorSucceeded (validator);
+ webForm.ValidatorSucceeded (validator);
return true;
}
- var val = Convert (ctrl_value, DataType, validator);
+ var MinimumValue = webForm.Convert (validator.minimumvalue, DataType, validator);
+ var MaximumValue = webForm.Convert (validator.maximumvalue, DataType, validator);
+ var val = webForm.Convert (ctrl_value, DataType, validator);
if (val == null || val < MinimumValue || val > MaximumValue) {
- ValidatorFailed (validator);
+ webForm.ValidatorFailed (validator);
return false;
}
else {
- ValidatorSucceeded (validator);
+ webForm.ValidatorSucceeded (validator);
return true;
}
}
-function RegularExpressionValidatorEvaluateIsValid (validator)
+webForm.RegularExpressionValidatorEvaluateIsValid = function (validator)
{
- var ValidationExpression = validator.getAttribute ("validationexpression");
- var ControlToValidate = validator.getAttribute ("controltovalidate");
+ var ValidationExpression = validator.validationexpression;
+ var ControlToValidate = validator.controltovalidate;
- var ctrl_value = ValidatorTrim (ValidatorGetValue (ControlToValidate));
+ var ctrl_value = webForm.ValidatorTrim (webForm.ValidatorGetValue (ControlToValidate));
if (ctrl_value == "") {
- ValidatorSucceeded (validator);
+ webForm.ValidatorSucceeded (validator);
return true;
}
+ if (!webForm.HaveRegexp ())
+ return false;
+
var r = new RegExp (ValidationExpression);
match = r.exec (ctrl_value);
- if (match == null || match[0] == "") {
- ValidatorFailed (validator);
+ if (match == null || match[0] != ctrl_value) {
+ webForm.ValidatorFailed (validator);
return false;
}
else {
- ValidatorSucceeded (validator);
+ webForm.ValidatorSucceeded (validator);
return true;
}
}
-function RequiredFieldValidatorEvaluateIsValid (validator)
+webForm.RequiredFieldValidatorEvaluateIsValid = function (validator)
{
- var InitialValue = validator.getAttribute ("initialvalue");
- var ControlToValidate = validator.getAttribute ("controltovalidate");
+ var InitialValue = validator.initialvalue;
+ var ControlToValidate = validator.controltovalidate;
- var ctrl_value = ValidatorTrim (ValidatorGetValue (ControlToValidate));
+ var ctrl_value = webForm.ValidatorTrim (webForm.ValidatorGetValue (ControlToValidate));
- if (ctrl_value == ValidatorTrim (InitialValue)) {
- ValidatorFailed (validator);
+ if (ctrl_value == webForm.ValidatorTrim (InitialValue)) {
+ webForm.ValidatorFailed (validator);
return false;
}
else {
- ValidatorSucceeded (validator);
+ webForm.ValidatorSucceeded (validator);
return true;
}
}
-function CustomValidatorEvaluateIsValid (validator)
+webForm.CustomValidatorEvaluateIsValid = function (validator)
{
- var InitialValue = validator.getAttribute ("initialvalue");
- var ControlToValidate = validator.getAttribute ("controltovalidate");
+ var ControlToValidate = validator.controltovalidate;
+ var evaluationfunc = validator.clientvalidationfunction;
+ var ctrl_value;
- if (!ControlToValidate) {
- ValidatorSucceeded (validator);
- return true;
- }
-
- var evaluationfunc = validator.getAttribute ("clientvalidationfunction");
+ if (ControlToValidate) {
+ ctrl_value = webForm.ValidatorTrim (webForm.ValidatorGetValue (ControlToValidate));
- var ctrl_value = ValidatorTrim (ValidatorGetValue (ControlToValidate));
-
- if ((ctrl_value.length == 0) && ((typeof(validator.validateemptytext) != "string") || (validator.validateemptytext != "true"))) {
- ValidatorSucceeded (validator);
+ if ((ctrl_value.length == 0) && ((typeof(validator.validateemptytext) != "string") || (validator.validateemptytext != "true"))) {
+ webForm.ValidatorSucceeded (validator);
return true;
- }
-
+ }
+ } else
+ ctrl_value = "";
var result = true;
if (evaluationfunc && evaluationfunc != "") {
@@ -481,11 +529,11 @@ function CustomValidatorEvaluateIsValid (validator)
}
if (result) {
- ValidatorSucceeded (validator);
+ webForm.ValidatorSucceeded (validator);
return true;
}
else {
- ValidatorFailed (validator);
+ webForm.ValidatorFailed (validator);
return false;
}
}
@@ -493,18 +541,18 @@ function CustomValidatorEvaluateIsValid (validator)
/*********************/
/* utility functions */
-function Convert (s, ty, validator)
+webForm.Convert = function (s, ty, validator)
{
var cvt = this ["To" + ty];
if (typeof (cvt) == 'function')
- return cvt (s, validator);
+ return cvt.call (this, s, validator);
else
return null;
}
-function ValidatorUpdateDisplay (v, valid)
+webForm.ValidatorUpdateDisplay = function (v, valid)
{
- var display = v.getAttribute ("display");
+ var display = v.display;
/* for validators that aren't displayed, do nothing */
if (display == "None") {
@@ -517,39 +565,22 @@ function ValidatorUpdateDisplay (v, valid)
}
}
-function ValidatorGetErrorMessage (v)
-{
- var text = v.getAttribute ("errormessage");
- if (text == null || text == "")
- text = v.getAttribute ("text");
- if (text == null)
- text = "";
- return text;
-}
-
-function ValidatorGetText (v)
-{
- var text = v.getAttribute ("text");
- if (text == null || text == "")
- text = v.getAttribute ("errormessage");
- if (text == null)
- text = "";
- return text;
-}
-
-function ValidatorFailed (v)
+webForm.ValidatorFailed = function (v)
{
- ValidatorUpdateDisplay (v, false);
+ webForm.ValidatorUpdateDisplay (v, false);
}
-function ValidatorSucceeded (v)
+webForm.ValidatorSucceeded = function (v)
{
- ValidatorUpdateDisplay (v, true);
+ webForm.ValidatorUpdateDisplay (v, true);
}
-function GetElement(id)
+webForm.GetElement = function (id)
{
var x = document.getElementById ? document.getElementById (id) :
((document.all) ? document.all [id] : null);
return x;
}
+
+
+}