【发布时间】:2020-04-23 10:56:43
【问题描述】:
我的 Laravel 版本是 6。
我的注册表单不能在实时服务器上运行,但它在 localhost 上运行良好。
当我点击注册按钮时,它会抛出这个异常。
idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated
它指向我在第 114 行的RegisterController.php。
$this->validator($request->all())->validate();
这行 vendor/guzzlehttp/guzzle/src/Utils.php:35
? idn_to_ascii($uri->getHost(), $options)
RegisterController.php
class RegisterController extends Controller
{
use RegistersUsers;
protected $redirectTo = RouteServiceProvider::HOME;
public function __construct()
{
$this->middleware('guest');
}
protected function validator(array $data)
{
$validator = Validator::make($data, [
'register_name' => ['required', 'string', 'max:8'],
'register_email' => ['required', 'string', 'email', 'max:255', 'unique:users,email'],
'register_password' => ['required', 'string', 'min:8', 'confirmed'],
'user_type'=> ['required','in:user,company'],
'g-recaptcha-response' => ['required','captcha'],
]);
$validator->setAttributeNames([
'register_email' => 'email',
'register_password' => 'password',
]);
return $validator;
}
protected function create(array $data)
{
$user = User::create([
'name' => $data['register_name'],
'email' => $data['register_email'],
'password' => Hash::make($data['register_password']),
'user_type' =>$data['user_type'],
]);
$user->sendEmailVerificationNotification();
return $user;
}
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
return $this->registered($request, $user)
?: redirect()->intended($this->redirectPath());
}
}
【问题讨论】:
-
这是做什么的?
$this->validator($request->all())->validate();能不能展示整个控制器方法 -
@lewis4u 感谢您的宝贵时间。我刚刚更新了我的问题。请刷新查看我的控制器代码
-
@lewis4u 有什么更新吗?
-
也许您可以将 Guzzle 稍微更新到下一个版本?
-
哦,看来您使用了错误的请求类。检查使用声明以确保您的请求来自
use Illuminate\Http\Request;