防止更多验证者

时间:2013-04-27 13:25:37

标签: validation phalcon

如果同一字段上的其他验证程序失败,如何停止更多验证程序?

如果以下代码我不希望在电子邮件为空时执行电子邮件验证程序。

$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。我对两者的答案都是一样的。

1 个答案:

答案 0 :(得分:0)

此时,无法在Phalcon \ Mvc \ Model \ Validator中停止验证,在Phalcon \ Validation情况下,您可以传递'cancelOnFail'作为参数,以指示它必须停止验证链,如果具有该参数的验证器失败:

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