Phalcon框架之———— 2.0升級到3.0 問題Model驗證問題解決

Github源碼:https://github.com/phalcon/cphalcon/tree/master/phalcon/validation/validatorgit

Phalcon 2.0 Model 字段驗證:github

public function validation()
    {
        $this->validate(new PresenceOf(array(
            "field" => 'code',
            "message" => '應用名稱不能爲空',
        )));
        $this->validate(new Regex(array(
            "field" => 'code',
            "message" => '應用名稱只能包含字母、數字、 中、下劃線',
            'pattern' => '/^[-A-Za-z0-9_]+$/',
        )));
        $this->validate(new Model\Validator\Uniqueness(array(
            'field' => 'code',
            'message' => '應用名稱已被使用'
        )));
        $this->validate(new PresenceOf(array(
            "field" => 'name',
            "message" => '名稱不能爲空',
        )));
        $this->validate(new PresenceOf(array(
            "field" => 'mechanismId',
            "message" => '請選擇歸屬推理系統',
        )));

        return $this->validationHasFailed() != true;
    }

Phalcon 3.0 Model 字段驗證:正則表達式

use Phalcon\Validation\Validator\PresenceOf;
use Phalcon\Validation\Validator\Regex as RegexValidator;
use Phalcon\Validation\Validator\Uniqueness;

public function validation() { $validator = new Validation(); //驗證值不爲null或空字符串 $validator->add( [ 'mobile', 'password' ], new PresenceOf([ "message" => [ 'mobile' => '手機號不能爲空', 'password' => '密碼不能爲空', ], ]) ); //容許驗證字段的值是否與正則表達式匹配 $validator->add( [ 'mobile', 'password' ], new RegexValidator([ 'pattern' => [ 'mobile' => "/^(13[0-9]|14[0-9]|17[0-9]|15[0-9]|18[0-9])\d{8}$/", 'password' => "/^[A-Za-z0-9_]+$/", ], 'message' => [ 'mobile' => '手機號只能包含英文、數字和下劃線', 'password' => '密碼只能包含英文、數字和下劃線' ] ]) ); //檢查相關表中的字段是否惟一 $validator->add( 'mobile', new Uniqueness([ 'model' => 'User', 'message' => ':field must be unique' ]) ); return $this->validate($validator); }
相關文章
相關標籤/搜索