abstrak:1.驗證器類<?phpnamespace app\validate;use think\Validate;class Product extends Validate{ protected $batchValidate = true; protected $rule = [ 'n
1.驗證器類
<?php
namespace app\validate;
use think\Validate;
class Product extends Validate
{
protected $batchValidate = true;
protected $rule = [
'name' => 'require|length:4,15',
'price' => 'number|between:1,120',
];
protected $message=[
'name.require'=>'商品信息不能為空'
];
}
2.控制器類
<?php
namespace app\index\controller;
use think\Controller;
use app\validate\Product;
use think\Validate;
class Verify extends Controller
{
//(1).普通驗證器
// public function demo1()
//// {
//// $data = ['name' => '',
//// 'price' => 10
//// ];
//// $validate = new Product();
//// if (!$validate->check($data)) {
//// dump($validate->getError());
//// } else {
//// return '驗證通過';
//// }
//// }
//(2).驗證器的簡化:$this->validate($data,$rule,$mess)
// public function demo2()
// {
// $data = [
// 'name' => 'de d',
// 'price' => 10000];
// $rule = 'app\validate\Product';
// $res = $this->validate($data, $rule);
// if ($res !== true) {
// return $res;
// }
// return '驗證成功';
// $data=['age'=>20];
// $rule=['age'=>'between:10,50'];
// $mess=['age.between'=>'年齡必須在10到50之間'];
// $res=$this->validate($data,$rule,$mess);
// if ($res !== true) {
// return $res;
// }
// return '驗證成功';
// }
//(3).獨立驗證
public function demo3()
{
// 創(chuàng)建驗證規(guī)則
$rule = ['age' => 'require|between:20,60'];
// 2.創(chuàng)建錯誤信息
$mess = ['age.require' => '年齡必須填寫',
'age.between' => '年齡必須在20到60之間'
];
//創(chuàng)建數(shù)據(jù)
$data = ['age' => 20];
// Validate::make():創(chuàng)建驗證規(guī)則并返回驗證對象
$validate = Validate::make($rule, $mess);
$res = $validate->check($data);
return $res ? '驗證通過' : $validate->getError();
}
}
3.部分運行結果
Guru membetulkan:天蓬老師Masa pembetulan:2019-05-13 09:14:53
Rumusan guru:如果在繼承了控制器基類的情況下, 使用驗證器的快捷方法, 還是很方便的....