Laravel11の公式パッケージ Prompts の使い方の記録と解説の第5回です。
![](https://laravel.com/img/og-image.jpg)
Laravel - The PHP Framework For Web Artisans
Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing ...
前回はピュアPHPでsearch、multisearchを実装しました。
今回はピュアPHPでtextareaを実装していきます。
textareaは2024/04/09にリリースされたPrompts (v0.1.18) で追加された機能です。
![](https://picperf.io/https://laravelnews.s3.amazonaws.com/featured-images/laravel11.jpg)
Laravel Prompts Adds a Multi-line Textarea Input, Laravel 11.3 Released - Laravel News
This week, the Laravel team released v11.3, which includes multi-line text in Laravel Prompts, a Session:hasAny() method...
textareaの使い方
▼基本的な使い方(src/textarea.php)
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use function Laravel\Prompts\textarea;
$story = textarea('話を聞かせてください。');
echo $story . PHP_EOL;
▼実行結果
テキストエリアが表示されました。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel11_prompts_purephp_textarea_01.png)
HTMLのテキストエリアと同様に複数行入力できます。
[Back space]、[Delete]、[Home]、[End]、矢印キー等も有効です。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel11_prompts_purephp_textarea_02.png)
[Ctrl] + [D] で内容確定します。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel11_prompts_purephp_textarea_03.png)
入力した内容が改行コード付きで返されました。
▼プレイスホルダー、補足説明、必須設定、表示行数
$story = textarea(
label: '話を聞かせてください。',
placeholder: "吾輩はAIである。\n名前はまだない。\nどこで生まれたかとんと見当がつかぬ。",
hint: 'これはあなたのプロフィールで表示されます。',
required: '何か話してくれなきゃ(´・д・`)ヤダ!',
rows: 3,
);
▼実行結果
プレイスホルダーが改行されて表示されています。
補足説明も表示されています。表示行数が3行になっています。
![](http://macocci7.net/blog/wp-content/uploads/2024/04/laravel11_prompts_purephp_textarea_04.png)
未記入で[Ctrl]+[D]で確定すると叱られます。
![](http://macocci7.net/blog/wp-content/uploads/2024/04/laravel11_prompts_purephp_textarea_05.png)
▼バリデーション
$story = textarea(
label: '話を聞かせてください。',
placeholder: "吾輩はAIである。\n名前はまだない。\nどこで生まれたかとんと見当がつかぬ。",
hint: 'これはあなたのプロフィールで表示されます。',
required: '何か話してくれなきゃ(´・д・`)ヤダ!',
rows: 5,
validate: fn (string $value) => match (true) {
mb_strlen($value) < 50 => 'お話は50字以上でなければなりません。',
mb_strlen($value) > 100 => 'お話は100字以内でなければなりません。',
default => null,
}
);
▼実行結果
50文字未満で[Ctrl]+[D]を押すと叱られます。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel11_prompts_purephp_textarea_06.png)
100文字以上で[Ctrl]+[D]を押すと叱られます。
この場合、改行コードも文字数に含まれます。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel11_prompts_purephp_textarea_07.png)
今回は以上です。
次回はsuggestをピュアPHPで実装していきます。
コメント