一个完整的使用实例:(验证模型数据)

use Phalcon\Mvc\Model;

use Phalcon\Mvc\Model\Validator\Email as EmailValidator;

use Phalcon\Mvc\Model\Validator\Uniqueness as UniquenessValidator;

 

class Users extends Model

{

//定义验证规则

public function validation()

{

$this->validate(new EmailValidator(array(

'field' => 'email',

'message' => '邮箱无效'

)));

$this->validate(new UniquenessValidator(array(

'field' => 'email',

'message' => '对不起,该邮箱已注册'

)));

$this->validate(new UniquenessValidator(array(

'field' => 'username',

'message' => '对不起,该用户名已被占用'

)));

if($this->validationHasFailed() == true) {

return false;

}

}

}

 

也可以用于验证非模型数据:

use Phalcon\Validation;

use Phalcon\Validation\Validator\Email;

use Phalcon\Validation\Validator\PresenceOf;

 

$validation = new Validation();

 

$validation->add('email', new Email(array(

    'message' => 'The e-mail is not valid'

)));

 

$messages = $validation->validate($_POST);

if (count($messages)) {

    foreach ($messages as $message) {

        echo $message, '<br>';

    }

}

 

过滤数据:

$validation->setFilters('name', 'trim');

$validation->setFilters('email', 'trim');

 

验证事件:

public function beforeValidation($data, $entity, $messages)

public function afterValidation($data, $entity, $messages)

(事件函数中若返回了false,验证就会终止)

 

取消验证:

$validation->add('telephone', new PresenceOf(array(

        'message' => 'The telephone is required',

        'cancelOnFail' => true

)))

(若验证失败终止后面的所有验证)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-19
  • 2021-06-15
  • 2021-09-06
  • 2022-12-23
  • 2022-12-23
  • 2021-06-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2021-05-20
  • 2021-03-27
  • 2022-02-06
  • 2022-12-23
相关资源
相似解决方案