5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Bing で Laravel Livewire の コンポーネントを作成してもらう

Posted at

Bing の Chat 機能が使えるようになったので、試しに Laravel Livewire の コンポーネントを作成しみた。

HTMLの作成

まずは、HTML作成のお願いをしていみた。

Bootstrap5 を使って 下記の項目をの入力フォームHTMLを作成してください。 
名前、名前カナ、メールアドレス、郵便番号、電話番号

結果

<form>
  <div class="mb-3">
    <label for="name" class="form-label">名前</label>
    <input type="text" class="form-control" id="name" name="name" required>
  </div>
  <div class="mb-3">
    <label for="kana" class="form-label">名前カナ</label>
    <input type="text" class="form-control" id="kana" name="kana" required>
  </div>
  <div class="mb-3">
    <label for="email" class="form-label">メールアドレス</label>
    <input type="email" class="form-control" id="email" name="email" required>
  </div>
  <div class="mb-3">
    <label for="zip" class="form-label">郵便番号</label>
    <input type="text" class="form-control" id="zip" name="zip" required>
  </div>
  <div class="mb-3">
    <label for="phone" class="form-label">電話番号</label>
    <input type="tel" class="form-control" id="phone" name="phone" required>
  </div>
  <button type="submit" class="btn btn-primary">送信</button>
</form>

次に、コンポーネントの作成をお願いをしていみた。

laravel livewire のコンポーネントとして出力してください。

結果

// app/Http/Livewire/Form.php
namespace App\Http\Livewire;

use Livewire\Component;

class Form extends Component
{
    // 入力項目のプロパティを定義
    public $name;
    public $kana;
    public $email;
    public $zip;
    public $phone;

    // バリデーションルールを定義
    protected $rules = [
        'name' => 'required|string',
        'kana' => 'required|string',
        'email' => 'required|email',
        'zip' => 'required|string',
        'phone' => 'required|string',
    ];

    // フォームを送信するメソッドを定義
    public function submit()
    {
        // バリデーションを実行
        $this->validate();

        // 送信処理を記述
        // 例えば、データベースに保存する場合
        // User::create([
        //     'name' => $this->name,
        //     'kana' => $this->kana,
        //     'email' => $this->email,
        //     'zip' => $this->zip,
        //     'phone' => $this->phone,
        // ]);

        // 送信完了メッセージを表示
        session()->flash('message', '送信しました。');
    }

    // ビューをレンダリングするメソッドを定義
    public function render()
    {
        return view('livewire.form');
    }
}
<!-- resources/views/livewire/form.blade.php -->
<form wire:submit.prevent="submit">
  <div class="mb-3">
    <label for="name" class="form-label">名前</label>
    <input type="text" class="form-control" id="name" wire:model="name" required>
    @error('name') <span class="text-danger">{{ $message }}</span> @enderror
  </div>
  <div class="mb-3">
    <label for="kana" class="form-label">名前カナ</label>
    <input type="text" class="form-control" id="kana" wire:model="kana" required>
    @error('kana') <span class="text-danger">{{ $message }}</span> @enderror
  </div>
  <div class="mb-3">
    <label for="email" class="form-label">メールアドレス</label>
    <input type="email" class="form-control" id="email" wire:model="email" required>
    @error('email') <span class="text-danger">{{ $message }}</span> @enderror
  </div>
  <div class="mb-3">
    <label for="zip" class="form-label">郵便番号</label>
    <input type="text" class="form-control" id="zip" wire:model="zip" required>
    @error('zip') <span class="text-danger">{{ $message }}</span> @enderror
  </div>
  <div class="mb-3">
    <label for="phone" class="form-label">電話番号</label>
    <input type="tel" class="form-control" id="phone" wire:model="phone" required>
    @error('phone') <span class="text-danger">{{ $message }}</span> @enderror
  </div>
  <button type="submit" class="btn btn-primary">送信</button>
  @if (session()->has('message'))
    <div class="alert alert-success mt-3">
      {{ session('message') }}
    </div>
  @endif
</form>

 ここまで、生成してくれると開発が捗りそうです。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?