【问题标题】:Enum values validate on Livewire枚举值在 Livewire 上验证
【发布时间】:2021-05-16 17:10:50
【问题描述】:

我可以在 Livewire 中使用 Laravel 的以下验证方式或类似方式吗?

Validator::make($data, [
    'zones' => [
        'required',
        Rule::in(['first-zone', 'second-zone']),
    ],
]);

starts_with:foo,bar,...

当前代码无法正常工作,在测试期间,当我通过 Chrom Inspection 修改 html 值时它刚刚通过。

查看

...
<input wire:model=size type="radio" value="BICYCLE" name="BICYCLE"/>
<input wire:model=size type="radio" value="CAR" name="CAR"/>
<input wire:model=size type="radio" value="CAR" name="BOAT"/>
...
<button wire:click="checkVehicle">Check</button>
---

Livewire 组件

public function checkVehicle()
{
    $this->validate([
        'size' => 'required|string|starts_with:BICYCLE,CAR,BOAT'
    ]);
}

【问题讨论】:

标签: laravel laravel-livewire


【解决方案1】:

你需要使用rules()作为方法而不是属性

use Illuminate\Validation\Rule;

public function rules()
{
    return [
        'zones' => ['required', Rule::in(['first-zone', 'second-zone'])],
    ];
}

public function checkVehicle()
{
    $this->validate();
}

【讨论】:

    猜你喜欢
    • 2010-09-06
    • 2017-12-14
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 2012-07-01
    • 1970-01-01
    相关资源
    最近更新 更多