如何在laravel验证中避免重复值?

如何在laravel验证中避免重复值?,laravel,validation,rules,Laravel,Validation,Rules,我有一个关于Laravel的distinct验证规则的问题。 我已经阅读了文档,并阅读了独特的规则说明。 但我没有得到正确的结果,通过使用。 我希望避免在请求中发送重复的值, 所以我添加了如下规则: 'versions.*.pattern' => [ 'string' ,'required_with:modifiers', 'distinct:versions.*.pattern' ] ['versions' => [ ['pattern' => 'x'],

我有一个关于Laravel的
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())并将其发布到原始帖子中吗?