如何在laravel验证中避免重复值?
我有一个关于Laravel的如何在laravel验证中避免重复值?,laravel,validation,rules,Laravel,Validation,Rules,我有一个关于Laravel的distinct验证规则的问题。 我已经阅读了文档,并阅读了独特的规则说明。 但我没有得到正确的结果,通过使用。 我希望避免在请求中发送重复的值, 所以我添加了如下规则: 'versions.*.pattern' => [ 'string' ,'required_with:modifiers', 'distinct:versions.*.pattern' ] ['versions' => [ ['pattern' => 'x'],
distinct
验证规则的问题。
我已经阅读了文档,并阅读了独特的规则说明。
但我没有得到正确的结果,通过使用。
我希望避免在请求中发送重复的值,
所以我添加了如下规则:
'versions.*.pattern' => [
'string' ,'required_with:modifiers', 'distinct:versions.*.pattern'
]
['versions' => [
['pattern' => 'x'],
['pattern' => 'y'],
]]
但即使重复,它也会传递这些值。谢谢你的帮助。这只是“独特的”:
'versions.*.pattern' => [
'string' ,'required_with:modifiers', 'distinct'
]
:
后面的参数用于严格的或忽略案例
马修的答案是正确的。如果它不起作用,您需要共享一个示例请求负载,该负载没有产生期望的结果
请注意,如果您使用的是versions.*.pattern
,则假定数据结构如下:
'versions.*.pattern' => [
'string' ,'required_with:modifiers', 'distinct:versions.*.pattern'
]
['versions' => [
['pattern' => 'x'],
['pattern' => 'y'],
]]
在该示例中,versions是一个数组数组,其中第三级数组有一个名为pattern的键。如果您实际上没有这样的3级数组,那么查看您的实际请求格式以提出正确的规则将很有帮助。您不需要在distinct:
之后重复验证键(versions.*.pattern
)<代码>'distinct'
就足够了。非常感谢您的评论。你以前试过这种方法吗?我没有这样得到答案,我没有。但是提示,如果将distinct
与冒号一起使用,则只能将其与strict
或ignore_case
结合使用,作为冒号后面的值。您可以对请求进行dd(request()->all())并将其发布到原始帖子中吗?