abstract://創(chuàng)建驗證器User.php<?php namespace app\validate; use think\Validate;
//創(chuàng)建驗證器User.php
<?php
namespace app\validate;
use think\Validate;
class User extends Validate{
protected $rule = [
'name' => 'require|length:4,15',
'sex' => 'in:0,1',
'age' => 'require|between:18,60',
'salary' => 'require|gt:1500'
];
protected $message = [
'name.require' => '名字不能為空',
'name.length' => '名字長度為4至15個字符之間',
'sex.in' => '姓別必需是男或女',
'age.require' => '年齡不能為空',
'age.between' => '年齡必須是18至60歲之間',
'salary.require' => '工資不能為空',
'salary.gt' => '工資不能小于1500'
];
}
<?php
namespace app\index\controller;
use think\Controller;
//加載驗證類
use app\validate\User;
class Varify extends Controller{
public function insert(){
//驗證的數(shù)據(jù)
$data = [
'name' => 'whyan',
'sex' => 5,
'age' =>35,
'salary' => 1000
];
//new驗證實例
$user = new User;
if(!$user->check($data)) {
echo $user->getError();
}else{
echo '驗證通過';
}
}
//驗證器驗證
public function insert(){
//驗證的數(shù)據(jù)
$data = [
'name' => 'whyan',
'sex' => 5,
'age' =>35,
'salary' => 1000
];
//驗證的規(guī)則
$rule = 'app\validate\User';
$res = $this->validate($data,$rule);
dump($res);
}
//獨立驗證
public function varify(){
//驗證的數(shù)據(jù)
$data = [
'name' => 'whyan',
'sex' => 0,
'age' =>17,
'salary' => 1000
];
//驗證的規(guī)則
$rule = [
'name' => 'require|length:4,15',
'sex' => 'in:0,1',
'age' => 'require|between:18,60',
'salary' => 'require|gt:1500'
];
//驗證的信息
$message = [
'name.require' => '名字不能為空',
'name.length' => '名字長度為4至15個字符之間',
'sex.in' => '姓別必需是男或女',
'age.require' => '年齡不能為空',
'age.between' => '年齡必須是18至60歲之間',
'salary.require' => '工資不能為空',
'salary.gt' => '工資不能小于1500'
];
//Validate靜態(tài)驗證
$res = \think\Validate::make($rule,$message);
$res->check($data);
dump($res->getError());
}
}
Correcting teacher:天蓬老師Correction time:2019-11-01 14:40:45
Teacher's summary:實際上,控制器中的驗證, 也是引用了獨立驗證, 通過一個獨之類, 對一些公用數(shù)據(jù)進行驗證,可以提高效率