【问题标题】:Laravel sometimes ignored when using min:Laravel 在使用 min 时有时会被忽略:
【发布时间】:2018-03-27 19:12:54
【问题描述】:

我正在使用表单请求来验证客户端的更新。

以下行一直给我 min:6 错误,尽管它之前有“有时”。

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

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

所以当我没有在密码(或密码确认)字段中输入任何内容时,我仍然会得到 min: 错误

密码必须至少为 6 个字符。

【问题讨论】:

  • 在规则中使用“可为空”而不是“有时”:laravel.com/docs/5.5/validation#a-note-on-optional-fields
  • 使用'users.password' => 'sometimes|confirmed|min:6|nullable',
  • 谢谢大家!这确实是答案。
  • @Notflip 我已经发布了我的答案!不要忘记投票并接受最佳答案! :)

标签: php laravel validation


【解决方案1】:

你可以使用

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

而不是

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

希望对你有帮助!!

【讨论】:

    【解决方案2】:

    laravel 验证“有时”会检查请求中是否存在密钥

    所以如果在请求中找不到密钥,“有时”会通过规则

    我认为您的请求有“密码”=> null。

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

    查看这张图片:

    【讨论】:

    • 在他的情况下没有必填项,这是一个可选字段
    猜你喜欢
    • 1970-01-01
    • 2021-02-23
    • 2023-03-24
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多