如何解决Laravel 在 null
我在 Laravel 身份验证注册中收到此错误
Call to a member function validate() on null
错误仅在验证通过时发生,失败时显示返回到注册视图并显示正确的错误。 我试图在 if 失败后 dd 但它没有达到它:
protected function validator(array $data){
$req = new Request($data);
//dd($req,$data);
$this->validate($req,[
'name' => ['required','string','max:50','min:3'],'email' => ['required','email','unique:users'],'password' => ['required','min:8','confirmed'],'uni' => ['required'],'city' => ['required'],],[
'required' => 'هذا الحقل مطلوب','email'=>'نمط البريد الالكتروني غير صحيح','min'=>'يجب إدخال 8 حروف عالأقل','email.unique' => 'هذا البريد الالكتروني مستخدم','confirmed'=>'الرجاء التأكد من كلمة المرور','max'=>'50 حرف هو أقصى حد يمكن إدخاله','name.min'=>'الاسم قصير جدا',]);
}
protected function create(array $data){
if ($this->validator($data)->fails()) {
return Redirect::back()->withErrors($this->validator($data))
->withInput();
}
return User::create([
'name' => $data['name'],'email' => $data['email'],'password' => Hash::make($data['password']),'photo'=>'img/user.jfif','university'=>$data['uni'],'city'=>$data['city'],]);
}
RegisterController 的完整代码
https://pastebin.com/B8XcNbBR
和 RegistersUsers (堆栈跟踪显示错误的地方)
https://pastebin.com/BBTTStLL
解决方法
试试这个
protected function validator(array $data)
{
return Validator::make($data,[
'name' => ['required','string','max:50','min:3'],'email' => ['required','email','unique:users'],'password' => ['required','min:8','confirmed'],'uni' => ['required'],'city' => ['required'],],[
'required' => 'هذا الحقل مطلوب','email'=>'نمط البريد الالكتروني غير صحيح','min'=>'يجب إدخال 8 حروف عالأقل','email.unique' => 'هذا البريد الالكتروني مستخدم','confirmed'=>'الرجاء التأكد من كلمة المرور','max'=>'50 حرف هو أقصى حد يمكن إدخاله','name.min'=>'الاسم قصير جدا',]);
}
protected function create(array $data){
return User::create([
'name' => $data['name'],'email' => $data['email'],'password' => Hash::make($data['password']),'photo'=>'img/user.jfif','university'=>$data['uni'],'city'=>$data['city'],]);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。