abstrak:use think\Validateclass Students extends Validate{//驗(yàn)證規(guī)則protected $rule = [//先看看當(dāng)前表哪些需要驗(yàn)證 'name' => 'require|min:5|manx:15' ,//require表示是必須的,第二個(gè)參數(shù)是5~15之間 'sex'=>'in:0
use think\Validate
class Students extends Validate
{
//驗(yàn)證規(guī)則
protected $rule = [//先看看當(dāng)前表哪些需要驗(yàn)證
'name' => 'require|min:5|manx:15' ,//require表示是必須的,第二個(gè)參數(shù)是5~15之間
'sex'=>'in:0,1',
'age'=>'require|between:18,60',
'salary'=>'require|gt:1500'
];
//錯(cuò)誤信息
protected $message = [
'name.require' => '員工姓名不能為空',
'name.length'=>'員工姓名長度不正確',
}
//在控制器中調(diào)用驗(yàn)證器
class Verify extends Controller{
//驗(yàn)證器
public function demo1()
{
$data = [ ];
$validate = new Staff();//包含驗(yàn)證器的那個(gè)類
if(!$validate->check($data)){
dump($validate->getError() );
}else{ return '驗(yàn)證通過';}
}
//驗(yàn)證器的簡化:$this->validate($data,$rule,$mess)
//可以使用控制器中的validate函數(shù)來完成
public function demo2()
{
$data = [ ];
$rule = 'app\validate\Staff;
$res = $this->validate($data,$rule);
if(true !== $res){
return $res;}
return "驗(yàn)證成功";
}
//$this->validate函數(shù)的調(diào)用再舉一個(gè)例子——這個(gè)時(shí)候繞過了驗(yàn)證器
$data = [];
$rule = [];
$mess = [];
$res = $this->validate($data,$rule,$mess)
Guru membetulkan:天蓬老師Masa pembetulan:2019-04-11 09:07:24
Rumusan guru:其實(shí)通過控制器中的快捷方法進(jìn)行驗(yàn)證, 并沒有繞過驗(yàn)證器, 底層還是調(diào)用了這個(gè)家伙