【发布时间】:2022-08-03 14:56:49
【问题描述】:
当前的枚举验证器需要一个标量值:
\'status\' => [new Enum(ServerStatus::class)]
就我而言,我通过以下方式将标量值转换为实际枚举:
prepareForValidation()
将标量值转换为实际枚举后,如何验证它?像这样的东西:
\'status\' => \'enum:App\\Enums\\Status\'
谢谢。
标签: laravel
当前的枚举验证器需要一个标量值:
\'status\' => [new Enum(ServerStatus::class)]
就我而言,我通过以下方式将标量值转换为实际枚举:
prepareForValidation()
将标量值转换为实际枚举后,如何验证它?像这样的东西:
\'status\' => \'enum:App\\Enums\\Status\'
谢谢。
标签: laravel
您可以使用 (new EnumValue) 或 (new EnumKey ) 而不是 (new Enum)
它将是 'status' => [new EnumValue(ServerStatus::class)]
就像在 [doc] 中一样:https://github.com/BenSampo/laravel-enum/blob/master/README.md#validation
【讨论】:
我不认为你理解验证。 Enum 需要类名,它使用传递给验证器的字符串值来检查它是否可以使用它生成该类型的枚举。如果您已经成功地将其转换为枚举,则它已经过验证。
【讨论】: