Php 如何在laravel中使用密码确认更新现有用户表值
我正在使用Laravel 5.6,将作为系统管理员更新我的用户表值(Php 如何在laravel中使用密码确认更新现有用户表值,php,laravel-5,Php,Laravel 5,我正在使用Laravel 5.6,将作为系统管理员更新我的用户表值(名称,电子邮件,密码) 刀片文件 <form action="{{route('users.update',$user->id)}}" method="POST"> {{method_field('PUT')}} {{csrf_field()}} <div class="form-group"> <label for="name">Name<
名称
,电子邮件
,密码
)
刀片文件
<form action="{{route('users.update',$user->id)}}" method="POST">
{{method_field('PUT')}}
{{csrf_field()}}
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name" value="{{$user->name}}" >
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" class="form-control" id="email" name="email" value="{{$user->email}}">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="password">
</div>
<div class="form-group">
<label for="password_confirmation">Confirm Password</label>
<input type="password" class="form-control" id="password_confirmation" name="password">
</div>
<button type="submit" class="btn btn-primary">Edit User</button>
</form>
问题
我的密码确认无效
这意味着我可以输入密码而无需确认和/或错误的确认密码。如何解决此问题?您必须添加密码确认验证。要使其工作,您的第二个密码字段必须称为password\u confirmation(或foo和foo\u confirmation) 如前所述,您可以添加更多验证字段。如果验证失败,浏览器会将用户带回更新页面。错误在视图中可用的laravel errorbag中,即
$errors
有时
表示如果存在输入,则需要以下规则。当您想要更新用户信息时,如果访问者不想更新密码,他们可以将密码字段留空。在更新用户输入之前,取消设置密码字段(如果为空) 你验证你的字段吗?不…不验证你可以发布dd($request->all())的结果代码>?传递给App\Http\Controllers\Controller::validate()的参数1必须是Lightlight\Http\Request的实例,给定数组,在第118行的C:\Users\banda\Desktop\acxian\App\Http\Controllers\UserController.php中调用,并且已定义。您必须发布控制器的更大部分。有点不对劲,但没人能说出来,因为我们没有信息<代码>请求$Request
应为服务提供商。在你的例子中,它是一个数组。如何?发生此错误消息*(1/1)BadMethodCallException方法验证不存在。*是否使用Illumb\Http\Request代码>?尝试$this->validate($request,['password'=>'有时| min:6 | confirm'])代码>改为。现在不是错误,但数据不会在更新表单中更新。
public function update(Request $request, $id)
{
$user = User::findOrFail($id);
$user->name = $request->name;
$user->uservalue = $request->uservalue;
$user->email = $request->email;
$user->password = bcrypt($request->input('password'));
$user->save();
return view('users.show')->withUser($user);
}
public function update(Request $request, $id)
{
$user = User::findOrFail($id);
$request->validate([
'password' => 'sometimes|min:6|confirmed'
]);
$user->name = $request->name;
$user->uservalue = $request->uservalue;
$user->email = $request->email;
$user->password = bcrypt($request->input('password'));
$user->save();
return view('users.show')->withUser($user);
}