【发布时间】:2018-11-09 02:57:27
【问题描述】:
我正在尝试将sometimes 验证规则实施到我的一个项目(Laravel 5.6)中。
我有一个用户可以更新他们的姓名和密码的个人资料页面,但我想这样做,以便如果用户不输入密码,它不会更新该字段,这是我认为有时规则的内容。
我在控制器中使用的完整更新方法如下。
如果我将密码字段留空,那么它会返回一个不应出现的字符串或最小错误。
public function update()
{
$user = Auth::user();
$this->validate(request(), [
'name' => 'required',
'password' => 'sometimes|string|min:6'
]);
$user->name = request('name');
$user->password = bcrypt(request('password'));
$user->save();
return back();
}
任何帮助将不胜感激。
【问题讨论】:
-
如果您不更新密码字段,则不应在请求中传递密码字段。当您在请求中传递密码字段(甚至是空字符串)时,该验证规则将检查它是否为字符串以及是否至少为 6 个字符长。
-
让我直截了当地说:如果没有输入密码,还应该更新名称吗?
-
@Sebastian 是的,在编辑个人资料页面上
标签: laravel laravel-5 laravel-validation