2013-04-27 3 views
0

Как остановить еще один валидатор, если другой валидатор в одном поле не работает?Предотвращение более валидатора

Если следующий код я не хочу, чтобы проверка подлинности электронной почты выполнялась, когда письмо пусто.

$v=new Phalcon\Validation(); 

$v->add('email',new Phalcon\Validation\Validator\PresenceOf(['field'=>'email'])); 
$v->add('email',new Phalcon\Validation\Validator\Email(['field'=>'email'])); 

var_dump($v->validate([])); 

Как предотвратить проверку нулевых полей? Я следую коду, я хочу, чтобы проверка была проверена только тогда, когда установлено электронное письмо.

$v=new Phalcon\Validation(); 

$v->add('email',new Phalcon\Validation\Validator\PresenceOf(['field'=>'email'])); 

var_dump($v->validate([])); 

На самом деле я использую Class Phalcon\Mvc\Model\Validator но примеры использования Class Phalcon\Validation\Validator. Я мотаюсь, что ответ будет одинаковым для обоих.

ответ

0

В настоящий момент нет способа остановить проверку в Phalcon \ Mvc \ Model \ Validator, в случае с фаллоном \ Validation вы можете передать 'cancelOnFail' в качестве параметра, чтобы указать, что он должен остановить цепочку валидации, если валидатор с этим параметром не работает:

$v->add('email',new PresenceOf(['field'=>'email', 'cancelOnFail' => true])); 
$v->add('email',new \Email(['field'=>'email'])); 
+0

Надеюсь, в будущем мы увидим один класс повторного использования. – PHPst

+0

Как предотвратить проверку пустых полей? – PHPst

Смежные вопросы