Laravel 验证中有时和可为空的区别
Posted
技术标签:
【中文标题】Laravel 验证中有时和可为空的区别【英文标题】:Differences between sometimes and nullable in Laravel validation 【发布时间】:2021-09-02 08:06:43 【问题描述】:假设我可以通过两种方式进行验证
'active' =>
'sometimes',
和
'active' =>
'nullable',
有什么区别?什么时候一个会过去,另一个不会?
还有同样的问题:
'user_id' =>
'sometimes|exists:user,id',
和
'user_id' =>
'nullable|exists:user,id',
我已阅读有关某个主题的多篇文章,包括文档,但我仍然不明白。在没有其他规则的情况下(如我的第一个示例)使用时有时或可为空是否有意义?
【问题讨论】:
nullable 与 optional 不同。nullable
影响存在但可能为空或不为空的输入。 sometimes
影响不存在的输入
【参考方案1】:
可以为空:
Laravel 使用中间件 ConvertEmptyStringsToNull
将空值转换为 null。因此,如果您不希望验证器将空值视为无效,您通常需要将“可选”请求字段标记为可空。
有时:
如果您只想在请求中存在该字段时验证该字段。这在我们使用 javascript 或 jQuery 操作 DOM 时很有用。
Read More
【讨论】:
以上是关于Laravel 验证中有时和可为空的区别的主要内容,如果未能解决你的问题,请参考以下文章
如何在基于块的 API 方法中使用非空和可为空的 Objective-C 关键字