summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwei <>2006-10-28 07:43:27 +0000
committerwei <>2006-10-28 07:43:27 +0000
commit5bd4f1f34bb08469d3e18727f9d39c53037c6424 (patch)
tree7da05a55d69be12976635107f448d4f99d4964b2
parente4c9e8e311dc09424e4b865f53a0a6fe6872c4e6 (diff)
Add TActiveCustomValidator to change ErrorMessage on callbback.
-rw-r--r--framework/Web/Javascripts/js/compressed/validator.js6
-rw-r--r--framework/Web/Javascripts/js/debug/validator.js15
-rw-r--r--framework/Web/Javascripts/prado/validation3.js15
-rw-r--r--framework/Web/UI/ActiveControls/TActiveCustomValidator.php15
4 files changed, 50 insertions, 1 deletions
diff --git a/framework/Web/Javascripts/js/compressed/validator.js b/framework/Web/Javascripts/js/compressed/validator.js
index 4134ecc3..7b89084b 100644
--- a/framework/Web/Javascripts/js/compressed/validator.js
+++ b/framework/Web/Javascripts/js/compressed/validator.js
@@ -12,7 +12,11 @@ this.managers[formID].addValidator(validator);else
throw new Error("A validation manager for form '"+formID+"' needs to be created first.");return this.managers[formID];},addSummary:function(formID,validator)
{if(this.managers[formID])
this.managers[formID].addSummary(validator);else
-throw new Error("A validation manager for form '"+formID+"' needs to be created first.");return this.managers[formID];}});Prado.ValidationManager=Class.create();Prado.ValidationManager.prototype={validators:[],summaries:[],groups:[],options:{},initialize:function(options)
+throw new Error("A validation manager for form '"+formID+"' needs to be created first.");return this.managers[formID];},setErrorMessage:function(validatorID,message)
+{$H(Prado.Validation.managers).each(function(manager)
+{manager[1].validators.each(function(validator)
+{if(validator.options.ID==validatorID)
+{validator.options.ErrorMessage=message;$(validatorID).innerHTML=message;}});});}});Prado.ValidationManager=Class.create();Prado.ValidationManager.prototype={validators:[],summaries:[],groups:[],options:{},initialize:function(options)
{this.options=options;Prado.Validation.managers[options.FormID]=this;},validate:function(group,invoker)
{if(group)
return this._validateGroup(group,invoker);else
diff --git a/framework/Web/Javascripts/js/debug/validator.js b/framework/Web/Javascripts/js/debug/validator.js
index 8f244667..64ac10e3 100644
--- a/framework/Web/Javascripts/js/debug/validator.js
+++ b/framework/Web/Javascripts/js/debug/validator.js
@@ -140,6 +140,21 @@ Object.extend(Prado.Validation,
else
throw new Error("A validation manager for form '"+formID+"' needs to be created first.");
return this.managers[formID];
+ },
+
+ setErrorMessage : function(validatorID, message)
+ {
+ $H(Prado.Validation.managers).each(function(manager)
+ {
+ manager[1].validators.each(function(validator)
+ {
+ if(validator.options.ID == validatorID)
+ {
+ validator.options.ErrorMessage = message;
+ $(validatorID).innerHTML = message;
+ }
+ });
+ });
}
});
diff --git a/framework/Web/Javascripts/prado/validation3.js b/framework/Web/Javascripts/prado/validation3.js
index 55ebc095..aa4c726b 100644
--- a/framework/Web/Javascripts/prado/validation3.js
+++ b/framework/Web/Javascripts/prado/validation3.js
@@ -140,6 +140,21 @@ Object.extend(Prado.Validation,
else
throw new Error("A validation manager for form '"+formID+"' needs to be created first.");
return this.managers[formID];
+ },
+
+ setErrorMessage : function(validatorID, message)
+ {
+ $H(Prado.Validation.managers).each(function(manager)
+ {
+ manager[1].validators.each(function(validator)
+ {
+ if(validator.options.ID == validatorID)
+ {
+ validator.options.ErrorMessage = message;
+ $(validatorID).innerHTML = message;
+ }
+ });
+ });
}
});
diff --git a/framework/Web/UI/ActiveControls/TActiveCustomValidator.php b/framework/Web/UI/ActiveControls/TActiveCustomValidator.php
index a0ef895c..1668b54f 100644
--- a/framework/Web/UI/ActiveControls/TActiveCustomValidator.php
+++ b/framework/Web/UI/ActiveControls/TActiveCustomValidator.php
@@ -125,6 +125,21 @@ class TActiveCustomValidator extends TCustomValidator
}
/**
+ * Sets the text for the error message. Updates client-side erorr message.
+ * @param string the error message
+ */
+ public function setErrorMessage($value)
+ {
+ parent::setErrorMessage($value);
+ if($this->getActiveControl()->canUpdateClientSide())
+ {
+ $client = $this->getPage()->getCallbackClient();
+ $func = 'Prado.Validation.setErrorMessage';
+ $client->callClientFunction($func, array($this, $value));
+ }
+ }
+
+ /**
* Register the javascript for the active custom validator.
*/
protected function registerClientScriptValidator()