代码之家  ›  专栏  ›  技术社区  ›  Kenny Nataniel

Laravel验证错误

  •  2
  • Kenny Nataniel  · 技术社区  · 6 年前

    为什么我的验证不起作用,但如果我推荐验证,代码将成功运行。 [这是我的控制器][1]

    函数更改密码(请求$req){

        $this->validate(
            $req,
            [
                'currpassword' => 'required | min:5',
                'newpassword' => 'required | min:5',
                'confirmnewpassword' => 'required| same:newpassword |min:5' 
            ]);
    
        // Validasinya gajalan
    
        $id = $req->input('id');
        $data = User::find($id);
    
        $currpassword = $req->input('currpassword');
        $newpassword = $req->input('newpassword');
        $confirmnewpassword = $req->input('confirmnewpassword');
    
        $currpass = $req->input('currpassword'); // password yang lama
    
        $currpasshash = Hash::make('currpassword');
    
        if (Hash::check($currpass , $data->password)) { 
            $data->password = Hash::make($newpassword);
            $data->save();
            return redirect('profile'); 
    
        }
        else{
            return redirect('changepassword');
        }
    
    
    }
    
    3 回复  |  直到 6 年前
        1
  •  2
  •   Sazzadur Rahman    6 年前

    您向validate方法传递了错误的参数,请尝试以下操作,

    $this->validate(
        $req->all(), [
            'currpassword' => 'required | min:5',
            'newpassword' => 'required | min:5',
            'confirmnewpassword' => 'required| same:newpassword |min:5' 
        ]);
    
        2
  •  1
  •   Manojkumar B    6 年前

    在名为 newpassword 和pip | 符号和 laravel 将字段名称标识为“newpassword”,而不是“newpassword”,这会导致错误。

    删除空格,然后尝试:

    'confirmnewpassword' => 'required | same:newpassword| min:5' 
    
        3
  •  0
  •   Jay Chauhan    6 年前

    您可以尝试此代码。

    function changepassword(Request $req) {
        $validatedData = $request->validate([
            'currpassword' => 'required|min:5',
            'newpassword' => 'required|min:5',
            'confirmnewpassword' => 'required|same:newpassword|min:5' 
        ]);
    }
    

    显示验证错误

    <h1>Create Post</h1>
    
    @if ($errors->any())
       <div class="alert alert-danger">
          <ul>
               @foreach ($errors->all() as $error)
                   <li>{{ $error }}</li>
               @endforeach
          </ul>
       </div>
    @endif
    

    有关更多信息,请访问 Validation in Laravel

    我希望这能帮助你。。。