2017-10-16 56 views
0

我正在使用Form Request来验证客户端的更新。使用min时有时会忽略Laravel:

下面一行不断给我min:6错误,虽然在它之前有'有时'。

这是一个更新表单,所以用户密码和密码确认字段将为空,用于更新。

'users.password' => 'sometimes|confirmed|min:6', 

所以,当我没有密码(或password_confirm)字段中输入任何东西我仍然得到分钟:错误

密码必须至少6个字符。

+1

在规则中使用“可空”而不是“有时”:https://laravel.com/docs/5.5/validation#a-note-on-optional-fields –

+1

使用''users.password'=>'有时|证实|分:6 |可为空',' –

+0

谢谢你们!这确实是答案。 – Notflip

回答

2

您可以使用,而不是

'users.password' => 'confirmed|min:6|nullable', 

'users.password' => 'sometimes|confirmed|min:6', 

希望这可以帮助你!

1

laravel验证“有时”会检查规则,如果该键在请求

所以“有时”会通过的规则,如果该键没有在请求中找到

我认为存在于您的请求有“密码”=>空。

尝试从请求中删除密钥,以便通过它。

检查这一形象:

enter image description here

+0

在他的情况下没有必需的东西,这是一个optionnal字段 –

+0

啊对不起,你是对的 –