假设,我有一个发送的请求对象
[
a => 0,
b => 0
]
Run Code Online (Sandbox Code Playgroud)
我想要进行验证,这会导致错误,因为 a 和 b 都为 0。我需要至少有一个为 1。我该怎么做?另一个工作例如:
[
a => 0,
b => 1
]
Run Code Online (Sandbox Code Playgroud)
它应该通过
您可以针对这种特殊情况使用自定义规则。
$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'
]);
Run Code Online (Sandbox Code Playgroud)
该规则只能针对一条,因此用户不会收到 2 条错误消息。
| 归档时间: |
|
| 查看次数: |
1968 次 |
| 最近记录: |