【问题标题】:How to negate a validation rule? laravel如何否定验证规则?拉拉维尔
【发布时间】:2020-05-11 23:42:42
【问题描述】:

我目前在我的 AppServiceProvider.php 中使用自定义验证规则。

Validator::extend('driver_assigned', function ($attribute, $value, $parameters, $validator) {
    //more code here
});

我认为为driver_unassigned 创建另一个不是一个好主意。

Validator::extend('driver_unassigned', function ($attribute, $value, $parameters, $validator) {
    //more code here
});


我可能想知道是否有一个 laravel 验证规则可以进行类似下面的否定以减少编码。
'driver_id' => 'not:driver_assigned',
'image_id' => 'not:image'

如何否定所有验证规则的结果?

【问题讨论】:

    标签: laravel laravel-6 laravel-validation


    【解决方案1】:

    你可以使用different验证规则

    'driver_id' => 'different:driver_assigned',
    'image_id' => 'different:image'
    

    【讨论】:

    • 已经到了。它不会否定结果。检查字段是否不同是另一条规则。就我而言,它总是失败。感谢您的回复
    【解决方案2】:

    也许您应该尝试使用unique 验证规则,而不是创建自己的验证规则。假设您有表 drivers 和字段 driver_id 存储唯一驱动程序 ID:

    'driver_id' => 'unique:drivers,driver_id'
    

    这样,如果给定的driver_id 输入还没有记录,Laravel 将检查表 drivers

    来源:https://laravel.com/docs/5.8/validation#rule-unique

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 2022-01-20
      • 2017-11-12
      • 1970-01-01
      • 2019-03-08
      • 2019-09-09
      • 2018-08-19
      • 2018-05-29
      • 2021-07-19
      相关资源
      最近更新 更多