YiiFramework можно ли вызвать метод проверки CValidator класса явно ?

mstdmstd

Новичок
В книге рецептов Макарова есть пример пользовательского класса RemoteFileValidator :

PHP:
<?php
class RemoteFileValidator extends CValidator
{
  public $content = '';
  protected function validateAttribute($object,$attribute)
  {
    $value=$object->$attribute;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $value);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    if(trim($output)!=$this->content)
      $this->addError($object,$attribute,'Please upload file first.');
  }
}
И пример вызова этого метода в описании модели
PHP:
array('url', 'RemoteFileValidator', 'content' => 'code here')
А можно ли вызвать метод проверки RemoteFileValidator явно ?
Что то вроде
Код:
$RemoteFileValidatorObj= RemoteFileValidator();
$RemoteFileValidatorObj->url= 'some url';
if ($RemoteFileValidatorObj->validate() ) {
...
}
Если да то как?

Там же в книге есть пример метода валидации наследуемого от CFormModel и его явного вызова, но класс наследуемый от CValidator мне казался более универсальным что ли...
Если его можно вызвать явно.
 

Redjik

Джедай-мастер
Вариантов масса, грамотный - один:
1) выдели функционал проверки в отдельную сущность.
2) в валидаторе проверяй через сущность, в ином месте через нее же... через валидатор не надо ...
 
Сверху