zoukankan      html  css  js  c++  java
  • phalcon——验证

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

    use PhalconMvcModel;

    use PhalconMvcModelValidatorEmail as EmailValidator;

    use PhalconMvcModelValidatorUniqueness 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 PhalconValidation;

    use PhalconValidationValidatorEmail;

    use PhalconValidationValidatorPresenceOf;

    $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

    )))

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

  • 相关阅读:
    MySQL查询缓存
    MySQL复制相关参数详解
    MySQL复制机制
    MySQL数据库的多表查询操作
    MySQL数据库单表查询基本操作及DML语句
    Hadoop大数据系列汇总
    MySQL数据库之日志功能详解
    MySQL数据库扫盲
    MySQL数据库之数据类型及基本使用详解
    MySQL数据库之日志管理
  • 原文地址:https://www.cnblogs.com/wujuntian/p/4694919.html
Copyright © 2011-2022 走看看