laravel - Laravel 验证,如果另一个字段为 0,则该字段应为 1,反之亦然
问题描述
假设,我有一个请求对象发送
[
a => 0,
b => 0
]
我想要进行验证,这将导致错误,因为 a 和 b 都是 0。我至少需要一个为 1。我该怎么做?另一个工作例如:
[
a => 0,
b => 1
]
它应该通过
解决方案
您可以针对这种特殊情况使用自定义规则。
$request->validate([
'a' => [
'integer',
'between:0,1',
function ($attribute, $value, $fail) use ($request) {
if (!$value && !$request->b) {
$fail($attribute.' is invalid.'); //you can customize the message here
}
}
],
'b' => 'integer|between:0,1'
]);
该规则只能是一个,因此用户不会收到 2 个错误消息。
推荐阅读
- javascript - @azure/search-documents javascript sdk,SearchDocumentResult 返回方面
- python - 不同行的单独参数
- gradle - IntelliJ IDEA 默认 gradle 运行配置参数
- pine-script - 协助创建筛选器的功能
- c# - 从 API 读取列表
- python - 为什么 pandas 会自动将我的 csv 中的所有表连接到两列?
- biztalk - 在编排接收形状中按 BTS.ReceiveLocationName 过滤
- mysql - SSL 证书上的 Google 云 (GCP) SQL 限制
- php - Symfony 序列化程序忽略序列化组
- r - 是否有一种简单的方法可以在 R 的 igraph 中按度数对网络节点进行着色?