diff options
author | xue <> | 2006-01-24 00:40:46 +0000 |
---|---|---|
committer | xue <> | 2006-01-24 00:40:46 +0000 |
commit | 8315c49b766ae0ae4c6729f641f6c83c50636b6c (patch) | |
tree | 39c700e7d6097ca6b70147952038f470ee799167 /framework | |
parent | 4282256a7bf5580cd0fa22ce9686024352f23a6f (diff) |
Fixed a few issues with TCheckBox about validator.
Diffstat (limited to 'framework')
-rw-r--r-- | framework/Web/UI/TPage.php | 2 | ||||
-rw-r--r-- | framework/Web/UI/TTemplateManager.php | 3 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TBaseValidator.php | 10 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TCheckBox.php | 9 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TRequiredFieldValidator.php | 2 |
5 files changed, 9 insertions, 17 deletions
diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php index 1dfc3b1e..53090e7f 100644 --- a/framework/Web/UI/TPage.php +++ b/framework/Web/UI/TPage.php @@ -288,8 +288,10 @@ class TPage extends TTemplateControl {
Prado::trace("Page validate",'System.Web.UI.TPage');
foreach($this->_validators as $validator)
+ {
if($validator->getValidationGroup()===$validationGroup)
$validator->validate();
+ }
}
}
diff --git a/framework/Web/UI/TTemplateManager.php b/framework/Web/UI/TTemplateManager.php index 0205fb7f..07e27891 100644 --- a/framework/Web/UI/TTemplateManager.php +++ b/framework/Web/UI/TTemplateManager.php @@ -735,7 +735,8 @@ class TTemplate extends TComponent implements ITemplate throw new TTemplateParsingException('template_event_forbidden',$name);
else
{
- if(!is_callable(array($className,'set'.$name)))
+ // id is still alowed for TComponent, even if id property doesn't exist
+ if(strcasecmp($name,'id')!==0 && !is_callable(array($className,'set'.$name)))
{
if(is_callable(array($className,'get'.$name)))
throw new TTemplateParsingException('template_property_readonly',$name);
diff --git a/framework/Web/UI/WebControls/TBaseValidator.php b/framework/Web/UI/WebControls/TBaseValidator.php index af8eb7e9..5110230b 100644 --- a/framework/Web/UI/WebControls/TBaseValidator.php +++ b/framework/Web/UI/WebControls/TBaseValidator.php @@ -154,7 +154,7 @@ abstract class TBaseValidator extends TLabel implements IValidator $scriptKey = "TBaseValidator:$formID"; if($this->getEnableClientScript() && !$scripts->isEndScriptRegistered($scriptKey)) { - $scripts->registerClientScript('validator'); + $scripts->registerClientScript('validator'); $scripts->registerEndScript($scriptKey, "Prado.Validation.AddForm('$formID');"); } if($this->getEnableClientScript()) @@ -361,13 +361,7 @@ abstract class TBaseValidator extends TLabel implements IValidator protected function getValidationValue($control) { if($control instanceof IValidatable) - { - $value=$control->getValidationPropertyValue(); - //if($value instanceof TListItem) - // return $value->getValue(); - //else - return TPropertyValue::ensureString($value); - } + return $control->getValidationPropertyValue(); else throw new TInvalidDataTypeException('basevalidator_validatable_required'); } diff --git a/framework/Web/UI/WebControls/TCheckBox.php b/framework/Web/UI/WebControls/TCheckBox.php index 47fabd20..98084009 100644 --- a/framework/Web/UI/WebControls/TCheckBox.php +++ b/framework/Web/UI/WebControls/TCheckBox.php @@ -76,13 +76,8 @@ class TCheckBox extends TWebControl implements IPostBackDataHandler, IValidatabl */
public function raisePostDataChangedEvent()
{
- $page=$this->getPage();
- if($this->getAutoPostBack() && !$page->getPostBackEventTarget())
- {
- $page->setPostBackEventTarget($this);
- if($this->getCausesValidation())
- $page->validate($this->getValidationGroup());
- }
+ if($this->getAutoPostBack() && $this->getCausesValidation())
+ $this->getPage()->validate($this->getValidationGroup());
$this->onCheckedChanged(null);
}
diff --git a/framework/Web/UI/WebControls/TRequiredFieldValidator.php b/framework/Web/UI/WebControls/TRequiredFieldValidator.php index df6c2abf..702fc5d2 100644 --- a/framework/Web/UI/WebControls/TRequiredFieldValidator.php +++ b/framework/Web/UI/WebControls/TRequiredFieldValidator.php @@ -58,7 +58,7 @@ class TRequiredFieldValidator extends TBaseValidator protected function evaluateIsValid()
{
$value=$this->getValidationValue($this->getValidationTarget());
- return trim($value)!==trim($this->getInitialValue());
+ return trim($value)!==trim($this->getInitialValue()) || (is_bool($value) && $value);
}
/**
|