livewire 驗證

liaosp發表於2020-07-10

之前看社群介紹這個外掛,太驚訝了,特別是結合laravel-admin使用,對於小專案來說,那就是是雙劍合璧。

官網

use Livewire\Component;

class ContactForm extends Component
{
    public $name;
    public $email;

    public function submit()
    {
        $this->validate([
            'name' => 'required|max:6',
            'email' => 'required|email',
        ],[
            'email.email'=>'請輸入正確的郵箱地址',
            'name.required'=>'名字必須填寫',
            'name.max'=>'名字長度不能超過6',
            'email.required'=>'必須填寫郵箱',
        ]);

        // Execution doesn't reach here if validation fails.

    }

    public function render()
    {
        return view('livewire.contact-form');
    }
}
<form wire:submit.prevent="submit">
    <input type="text" wire:model="name">

    @error('name') <span class="error" style="color: red">{{ $message }}</span> @enderror

    <br>


    <input type="text" wire:model="email">
    @error('email') <span class="error" style="color: red" >{{ $message }}</span> @enderror
    <br>
    <button type="submit">Save Contact</button>
</form>

如果安裝版本為laravel 5.7 驗證則會報錯,message 不存在。

把message 從刀片上刪了之後會出現:

在這裡插入圖片描述

從官方論壇看到,解決方案為 從5.7升級到5.8

livewire 驗證

解決問題!

有小夥伴探索這個外掛的注意了,官方需要5.7以上版本支援,如果需要用驗證功能,推薦安裝5.8以上。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章