Skip to content

Instantly share code, notes, and snippets.

@macocci7
Last active March 31, 2024 06:20
Show Gist options
  • Save macocci7/8591bbc307c30010cdc31ae8d75e0e67 to your computer and use it in GitHub Desktop.
Save macocci7/8591bbc307c30010cdc31ae8d75e0e67 to your computer and use it in GitHub Desktop.
Laravel Promptsの textプロンプトのマルチバイトバリデーション例(アロー関数と無名関数)
<?php
use function Laravel\Prompts\text;
$name = text(
label: 'あなたの名前を入力してください。',
placeholder: 'ななし はらぺこ',
default: '',
hint: 'ここで入力した名前はプロフィールに表示されます。',
required: "名前の入力は必須です。",
// バリデーション:アロー関数
validate: fn (string $value) => match (true) {
mb_strlen($value) < 3 => '3文字以上で入力してください。',
mb_strlen($value) > 40 => '40文字以内で入力してください。',
default => null
}
);
echo "{$name}さん、こんにちは!\n";
<?php
use function Laravel\Prompts\text;
$name = text(
label: 'あなたの名前を入力してください。',
placeholder: 'ななし はらぺこ',
default: '',
hint: 'ここで入力した名前はプロフィールに表示されます。',
required: "名前の入力は必須です。",
// バリデーション:無名関数
validate: function (string $value) {
return match (true) {
mb_strlen($value) < 3 => '3文字以上で入力してください。',
mb_strlen($value) > 40 => '40文字以内で入力してください。',
default => null
};
}
);
echo "{$name}さん、こんにちは!\n";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment