- 设置下异常处理类。参考https://jsjxsz.cn/209.html
- 新建SceneValidatorTrait.php文件
- 新建AdminRequest.php验证文件
namespace App\Http\Requests\Admin\Account;
use App\Helpers\Traits\SceneValidatorTrait;
use Illuminate\Foundation\Http\FormRequest;
class AdminRequest extends FormRequest
{
use SceneValidatorTrait;
/**
* 自动验证关闭
* @return bool
*/
public function autoValidate()
{
return false;
}
/**
* 某些场景下可单独开启关闭
* @return false|void
*/
// public function autoValidate(){
// $sceneName = $this->getSceneName();
// //add 场景下关闭自动验证
// if(in_array($sceneName,['add'])){
// return false;
// }
// }
/**
* @return array
*/
public function rules()
{
return [
'id' => 'required',
'username' => 'required|unique:admin|max:20',
'password' => 'required',
];
}
public function messages()
{
return [
'id.required' => '缺少参数ID',
'username.required' => '请输入用户名',
'username.unique' => '用户名已存在',
'username.max' => '用户名最大20个字符',
'password.required' => '请输入密码',
];
}
/**
* 场景规则
* @return array
*/
public function scene()
{
return [
//add 场景
'add' => [
'username', 'password',
//可以重置规则
// 'username' => 'required|unique:admin|max:20'
],
//edit场景
'edit' => ['id', 'username', 'password'],
];
}
- Controller文件
public function add(AdminRequest $request){
if (IS_POST){
$request->validate('add');
$params = $request->all();
if ($params) {
return AdminService::getInstance()->add($params);
}else{
return $this->retError('Parameter error');
}
}
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END