亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Tp5中自定義驗證的問題

Tp5中自定義驗證的問題

翻閱古今 2018-07-20 11:08:19
例如 數組是這樣的$data = [     [                 'mobile'=> '手機號碼1',                 'price' => '100.00'     ],         [                     'mobile'=> '手機號碼2',                     'price' => '500.00'     ], ];一維數組的驗證是直接可以  protected $rule = [           'mobile'=> 'require|mobile',   ]但是現在是二維數組,Tp是有自定義驗證的,現在想驗證的是,數組里面的手機號碼必須有值而且必須是合法的手機號碼,金額必須為正整數或者小數點后有兩位!自定義驗證:  protected $rule = [           'mobile'=> 'require|array|checkMobile',   ]//自定義驗證函數protected function checkMobile(){       //在這里面咋使用驗證呢?   //最好是可以使用Tp自帶的規則 比如mobile require unique等!!!!}
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

//自定義驗證函數

    protected function checkMobile($value)

    {

        # 01: 首先循環當前數據  每一項的值(value)

        # 02: 之后將該值賦給 變量mobile

        # 03: 之后使用寫驗證規則和錯誤信息

        # 04: 之后將錯誤信息給$this->message();

        # 05: 最后驗證  $this->check(驗證數據,驗證規則);

        # 06: 最后判斷 如何為false 就返回錯誤信息 $this->getError();

        foreach ($value as $item) {

            $data['mobile'] = $item;

            $rules = [

                'mobile' => 'require|mobile',

            ];

            $message = [

                'mobile.require' => '手機號碼不得為空!',

                'mobile.mobile' => '手機號碼格式錯誤!',

            ];

            if (false === $this->message($message)->check($data, $rules)) {

                return $this->getError();

            } else {

                return true;

            }

        }

    }

使用的時候:

    protected $rule = [        
        'mobile' => 'require|checkMobile',
    ];

數據是:

$data = [
    [        
        'mobile'=> ['手機號碼1','手機號碼2'],
    ];
];


查看完整回答
反對 回復 2018-07-22
  • 2 回答
  • 0 關注
  • 2545 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號