亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 25
粉絲 1
評(píng)論 0
訪問(wèn)量 29249
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
thinkPHP的獨(dú)立驗(yàn)證與驗(yàn)證器類(lèi)--20190325
曲小冷
原創(chuàng)
1650人瀏覽過(guò)

thinkPHP中可用兩種方式驗(yàn)證數(shù)據(jù):

1、驗(yàn)證器:類(lèi) 基于系統(tǒng)的驗(yàn)證器類(lèi),用戶(hù)包裝后自定義的驗(yàn)證器類(lèi)

2、獨(dú)立驗(yàn)證:直接調(diào)用框架內(nèi)置的驗(yàn)證類(lèi):think\Validate

___________________________________________________________________________________________________

第一種:驗(yàn)證器類(lèi)

人為的約定是一個(gè)用戶(hù)自定義驗(yàn)證器類(lèi)并繼承Validate,用來(lái)對(duì)數(shù)據(jù)表中的字段進(jìn)行驗(yàn)證

1、創(chuàng)建驗(yàn)證器類(lèi) 

check($data , $rules = [], $scene = '') 

// 1、給數(shù)據(jù)表中的字段幫規(guī)定驗(yàn)證規(guī)則
protected $rule =   [
    'name'  => 'require|chsAlpha|max:25',
    'sex'   => 'require|number|in:0,1',
    ...
];
// 2、驗(yàn)證提示信息
protected $message  =   [
    'name.require' => '名稱(chēng)必須',
    'name.chsAlpha' => '名稱(chēng)只能是漢字、字母',
    'name.max'     => '名稱(chēng)最多不能超過(guò)25個(gè)字符',
    'sex.require' => '性別必須',
    'sex.number' => '性別必須是數(shù)字',
    'sex.in' => '性別只能是1或0',
    ...
];

2、使用定義的驗(yàn)證類(lèi)

先引入
use app\index\validate\Staff as staffValidate;
在類(lèi)中驗(yàn)證數(shù)據(jù)
public function vali(){
    $data = [    // 模擬數(shù)據(jù)
        'name'=>'灰灰',
        'sex'=>1
    ];
    $validate = new staffValidate;    // 實(shí)例化驗(yàn)證器類(lèi)
    $res = $validate->check($data);
    if (false === $res){
        halt($validate->getError());  // $validate->getError() 如果驗(yàn)證錯(cuò)誤顯示驗(yàn)證器類(lèi)中對(duì)應(yīng)的驗(yàn)證提示信息
    }
    dump('驗(yàn)證通過(guò)');
}

——————————————————————————————————————————————————

第二種:獨(dú)立驗(yàn)證  

分兩種:

1. 獨(dú)立驗(yàn)證:直接調(diào)用框架內(nèi)置的驗(yàn)證類(lèi):think\Validate

需要?jiǎng)?chuàng)建驗(yàn)證器類(lèi)對(duì)象 

Validate::make($rule [,$message]) 提示信息可選

public function vali2(){
    $rule =   [
        'name'  => 'require|chsAlpha|max:25',
        'sex'   => 'require|number|in:0,1'
    ];
    $message  =   [
        'name.require' => '名稱(chēng)必須',
        'name.chsAlpha' => '名稱(chēng)只能是漢字、字母',
        'name.max'     => '名稱(chēng)最多不能超過(guò)25個(gè)字符',
        'sex.require' => '性別必須',
        'sex.number' => '性別必須是數(shù)字',
        'sex.in' => '性別只能是1或0'
    ];
    $validate = Validate::make($rule,$message);    
    $data = [    
        'name'=>'小飛鼠',
        'sex'=>1,
        'age'=>22,
        'email'=>'admin@php.cn'
    ];
    $res = $validate->check($data);
    if (false === $res){
        halt($validate->getError());
    }
    dump('驗(yàn)證通過(guò)');
}

2. 獨(dú)立驗(yàn)證:使用驗(yàn)證過(guò)對(duì)象鏈?zhǔn)秸{(diào)用

public function vali3(){
    $validate = new Validate();    
    // 鏈?zhǔn)秸{(diào)用
    $res = $validate->rule([
            'name'  => 'require|chsAlpha|max:25',
            'sex'   => 'require|number|in:0,1',
            'age'   => 'require|number|between
        ])
        ->message([
            'name.require' => '名稱(chēng)必須',
            'name.chsAlpha' => '名稱(chēng)只能是漢字、字母',
            'name.max'     => '名稱(chēng)最多不能超過(guò)25個(gè)字符',
            'sex.require' => '性別必須',
            'sex.number' => '性別必須是數(shù)字',
            'sex.in' => '性別只能是1或0'
        ])
        ->check($data);
    if (false === $res){
        halt($validate->getError());
    }
    dump('驗(yàn)證通過(guò)');
}

如果不加驗(yàn)證消息則會(huì)顯示默認(rèn)的提示

0.png1.png

批改狀態(tài):未批改

老師批語(yǔ):
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)