如果同一字段上的其他验证程序失败,如何停止更多验证程序?
如果以下代码我不希望在电子邮件为空时执行电子邮件验证程序。
$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 :(得分:0)
此时,无法在Phalcon \ Mvc \ Model \ Validator中停止验证,在Phalcon \ Validation情况下,您可以传递'cancelOnFail'作为参数,以指示它必须停止验证链,如果具有该参数的验证器失败:
$v->add('email',new PresenceOf(['field'=>'email', 'cancelOnFail' => true]));
$v->add('email',new \Email(['field'=>'email']));