午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

驗證場景

驗證場景

版本 新增功能
5.0.4 增加hasScene方法用于檢查是否存在驗證場景

可(ke)以在定義驗證(zheng)規則的時候定義場景,并且驗證(zheng)不同場景的數據,例如:

$rule = [
    'name'  => 'require|max:25',
    'age'   => 'number|between:1,120',
    'email' => 'email',
];
$msg = [
    'name.require' => '名稱必(bi)須',
    'name.max'     => '名(ming)稱最多不能超過25個字符',
    'age.number'   => '年齡必須(xu)是數字',
    'age.between'  => '年齡只能在(zai)1-120之間',
    'email'        => '郵(you)箱格式錯誤',
];
$data = [
    'name'  => 'thinkphp',
    'age'   => 10,
    'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule);
$validate->scene('edit', ['name', 'age']);
$result = $validate->scene('edit')->check($data);

表示驗(yan)證edit場景(該(gai)場景定義只(zhi)需要(yao)驗(yan)證name和age字段(duan))。

如果使用了(le)驗證(zheng)器,可以直接在類(lei)里面定義場(chang)景,例(li)如:

namespace app\index\validate;

use think\Validate;

class User extends Validate
{
    protected $rule =   [
        'name'  => 'require|max:25',
        'age'   => 'number|between:1,120',
        'email' => 'email',    
    ];
    
    protected $message  =   [
        'name.require' => '名稱必須(xu)',
        'name.max'     => '名稱最多不能超過25個(ge)字符(fu)',
        'age.number'   => '年齡必須(xu)是數字',
        'age.between'  => '年齡只能在(zai)1-120之間',
        'email'        => '郵箱格式錯誤',    
    ];
    
    protected $scene = [
        'edit'  =>  ['name','age'],
    ];
    
}

然后再需要(yao)驗證的地方直接使用(yong) scene 方法驗證

$data = [
    'name'  => 'thinkphp',
    'age'   => 10,
    'email' => 'thinkphp@qq.com',
];

$validate = new \app\index\validate\User($rule);
$result = $validate->scene('edit')->check($data);

 可(ke)以在(zai)定義場景的(de)時(shi)候(hou)對某些字段(duan)的(de)規則重新設(she)置,例(li)如:

namespace app\index\validate;

use think\Validate;

class User extends Validate
{
    protected $rule =   [
        'name'  => 'require|max:25',
        'age'   => 'number|between:1,120',
        'email' => 'email',    
    ];
    
    protected $message  =   [
        'name.require' => '名稱必須',
        'name.max'     => '名稱(cheng)最多不能(neng)超過25個字(zi)符',
        'age.number'   => '年齡必(bi)須是數字(zi)',
        'age.between'  => '年齡(ling)只能在1-120之間(jian)',
        'email'        => '郵(you)箱格式錯誤',    
    ];
    
    protected $scene = [
        'edit'  =>  ['name','age'=>'require|number|between:1,120'],
    ];
    
}

可(ke)以(yi)對場景(jing)設(she)置一個回調方(fang)法,用(yong)于動(dong)態設(she)置要驗證(zheng)的字段,例(li)如:

$rule = [
    'name'  => 'require|max:25',
    'age'   => 'number|between:1,120',
    'email' => 'email',
];
$msg = [
    'name.require' => '名稱(cheng)必須',
    'name.max'     => '名(ming)稱最多不能(neng)超過25個字符',
    'age.number'   => '年齡(ling)必須是數字',
    'age.between'  => '年(nian)齡只(zhi)能(neng)在(zai)1-120之間',
    'email'        => '郵(you)箱格(ge)式錯誤',
];
$data = [
    'name'  => 'thinkphp',
    'age'   => 10,
    'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule);
$validate->scene('edit', function($key,$data){
    return 'email'==$key && isset($data['id'])? true : false;
});
$result = $validate->scene('edit')->check($data);
文檔最后更新時間:2018-04-26 10:46:44

文檔
目錄

深色
模式

切換
寬度