Livewire阵列即时验证

时间:2020-03-24 11:02:47

标签: laravel validation laravel-6 laravel-livewire

我正在尝试Livewire的即时身份验证,该身份验证对于其他输入(数组字段)似乎可以正常工作。想知道如何显示数组输入的错误消息。 刀片代码

<input type="tel" pattern="[0-9]+" minlength="6" wire:model="contact_phone.{{$index}}"
       class="form-control {{ $errors->has('contact_phone.*') ? ' is-invalid' : '' }} " required>
<div>@error('contact_phone') <span class="error text-danger small">{{ $message }}</span> @enderror</div>   

验证

public function updated($field)
    {
        $this->validateOnly($field, [ 
            'contact_phone' => 'required|array|min:1',
            'contact_phone.*' => 'required|string|min:3',
        ]);

    }

遵循此doc

1 个答案:

答案 0 :(得分:0)

这就是我最终使它起作用的方式。关键是要访问@error指令中特定数组输入的索引。

<input type="tel" pattern="[0-9]+" minlength="6" wire:model.lazy="contact_phone.{{$index}}"
       class="form-control {{ $errors->has('contact_phone.'.$index) ? ' is-invalid' : '' }} " required>
<div>@error('contact_phone.{{$index}}')
    <span class="error text-danger small">{{ $message }}</span> @enderror
</div>