summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorxue <>2006-06-15 02:13:39 +0000
committerxue <>2006-06-15 02:13:39 +0000
commitfbbc9d2a517f97b9d961e19e0c205a8153e3a093 (patch)
treea42cbdbd1b18703c1db012ad2ef3e379b57122ec /framework
parent377590870fabe2d2a9980e629c67b1aa7065fa92 (diff)
Added OnValidate, OnError, OnSuccess events to validators
Diffstat (limited to 'framework')
-rw-r--r--framework/Web/UI/WebControls/TBaseValidator.php38
1 files changed, 37 insertions, 1 deletions
diff --git a/framework/Web/UI/WebControls/TBaseValidator.php b/framework/Web/UI/WebControls/TBaseValidator.php
index 54fea2ec..3b2f0ec6 100644
--- a/framework/Web/UI/WebControls/TBaseValidator.php
+++ b/framework/Web/UI/WebControls/TBaseValidator.php
@@ -473,10 +473,22 @@ abstract class TBaseValidator extends TLabel implements IValidator
*/
public function validate()
{
+ $this->onValidate();
$this->setIsValid(true);
$control=$this->getValidationTarget();
if($control && $this->getVisible(true) && $this->getEnabled())
- $this->setIsValid($this->evaluateIsValid());
+ {
+ if($this->evaluateIsValid())
+ {
+ $this->setIsValid(true);
+ $this->onSuccess();
+ }
+ else
+ {
+ $this->setIsValid(false);
+ $this->onError();
+ }
+ }
return $this->getIsValid();
}
@@ -504,6 +516,30 @@ abstract class TBaseValidator extends TLabel implements IValidator
abstract protected function evaluateIsValid();
/**
+ * This event is raised when the validator succeeds in validation.
+ */
+ public function onSuccess()
+ {
+ $this->raiseEvent('OnSuccess',$this,null);
+ }
+
+ /**
+ * This event is raised when the validator fails in validation.
+ */
+ public function onError()
+ {
+ $this->raiseEvent('OnError',$this,null);
+ }
+
+ /**
+ * This event is raised right before the validator starts to perform validation.
+ */
+ public function onValidate()
+ {
+ $this->raiseEvent('OnValidate',$this,null);
+ }
+
+ /**
* Renders the validator control.
* @param THtmlWriter writer for the rendering purpose
*/