我在控制器Laravel中有默认验证规则:
$validator = Validator::make($request->all(), [
'email' => 'required|email',
'phone' => 'required|numeric',
'code' => 'required|string|min:3|max:4',
'timezone' => 'required|numeric',
'country' => 'required|integer',
'agreement' => 'accepted'
]);
Run Code Online (Sandbox Code Playgroud)
我试过这个,但不知道如何在函数内部传递一些参数:
public function boot()
{
Validator::extend('phone_unique', function($attribute, $value, $parameters) {
return substr($value, 0, 3) == '+44';
});
}
Run Code Online (Sandbox Code Playgroud)
如何根据自己的规则扩展此验证?例如,我需要验证输入的连接:
$phone = $request->code.' '.$request->phone
Run Code Online (Sandbox Code Playgroud)
检查后是否$phone存在于数据库中
我想用这个方法:
> $validator->sometimes('phone', 'required|alpha_dash|max:25', function
> ($input) {
> if ((Auth::user()->phone == $input->phone)) {
> return false;
>
> } else {
>
> $t = User::where("phone", $input->phone)->get();
> return …Run Code Online (Sandbox Code Playgroud)