【问题标题】:Actual Enum validator实际枚举验证器
【发布时间】:2022-08-03 14:56:49
【问题描述】:

当前的枚举验证器需要一个标量值:

\'status\' => [new Enum(ServerStatus::class)]

就我而言,我通过以下方式将标量值转换为实际枚举:

 prepareForValidation()

将标量值转换为实际枚举后,如何验证它?像这样的东西:

\'status\' => \'enum:App\\Enums\\Status\'

谢谢。

    标签: laravel


    【解决方案1】:

    您可以使用 (new EnumValue) 或 (new EnumKey ) 而不是 (new Enum)
    它将是 'status' => [new EnumValue(ServerStatus::class)] 就像在 [doc] 中一样:https://github.com/BenSampo/laravel-enum/blob/master/README.md#validation

    【讨论】:

    • 抱歉,您为什么要指向外部库?我想使用原生 Laravel 解决方案。
    【解决方案2】:

    我不认为你理解验证。 Enum 需要类名,它使用传递给验证器的字符串值来检查它是否可以使用它生成该类型的枚举。如果您已经成功地将其转换为枚举,则它已经过验证。

    【讨论】:

      猜你喜欢
      • 2010-09-06
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 2014-10-25
      • 2017-12-14
      相关资源
      最近更新 更多