php - 尊重验证可选密钥
问题描述
有时用户可以发送一些丢失的键/值对。因此,在这种情况下,我需要验证可选键是否存在。
用户传记是一个可选字段。如果用户将其留空,我不希望它被发布。
v::key('biography', v::optional(v::stringType()->length(10, 1000)))
Abode 代码验证 biography 是否为 null 或为空,如果发布的对象不包含 biography 键,则会引发异常,因为验证器需要传记。我找不到检查“密钥是否存在继续验证链”的方法;我可以在验证之前将不存在的密钥添加到发布的数据中,但我相信在库中有更好的方法来做到这一点。
我正在寻找一个应该像这样的解决方案:
v::key('biography', v::keyExist(v::optional(v::stringType()->length(10, 1000))))
解决方案
Key 的文档说明:
第三个参数使关键存在可选:
v::key('lorem', v::stringType(), false)->validate($dict); // true
也就是说,如果“lorem”不存在,验证将不会应用 StringType 验证。
推荐阅读
- angular - 如何在 Storybook 中导入 NgbCalendar?
- linux - 我想通过pid杀死所有名为folder = work14的正在运行的进程
- android - 如何防止 gradle 查询其他存储库的依赖项
- azure-devops - 测试完成通知
- javascript - 如何在 API 中包含字段而不在数据库中添加键/值?
- python - 如何根据其他列表中的值对列表中的元组进行排序
- corda - Corda 如何识别在 vaultquery 中找到的持有每个状态的帐户
- sql - 在oracle中一行显示多行数据
- flutter - Flutter AnimatedList 与 BlocListener
- php - WSDL如何设置独立于服务执行url的目标命名空间