LoginSignup
0
0

More than 1 year has passed since last update.

【Laravel】バリデーションメモ

Posted at

Laravelのバリデーションで悩んだ話

やりたいこと

 4桁の数字を入力するフォームで、バリデーションをかきたい!

正規表現

  • minが最小値でmaxが最大値ね~ふむふむ!
  • …あれ?
  • ぴったり○桁って、自分で書かなきゃ?
  • こ、こんな感じか?
$validateRules = ['number'=>'regex:[0-9]{4}'];
  • 実行結果から、うまくいってなさそう(正規表現うろ覚えすぎる)
  • 行頭・行末を指定してあげたら、なんとかいけた…これが正しい書き方なのか不安はあるけれど…!
$validateRules = ['number'=>'regex:/^[0-9]{4}$/'];

エラーメッセージ

  • おや?
  • 組み込みバリデーションルールじゃないので、エラーメッセージがいい感じにでないな?
  • ということで公式の書き方を確認
公式のお手本
$validator = Validator::make($input, $rules, $messages = [
    'required' => 'The :attribute field is required.',
]);
  • なるほどね…つまりこんな感じかな?
$validator = Validator::make($input, $rules, $messages = [
    'regex:/^[0-9]{4}$/' => 'numberは4桁で入力してください。',
]);
  • うーん、失敗!!
  • キーは「regex」だけでよかった!!
$validator = Validator::make($input, $rules, $messages = [
    'regex' => 'numberは4桁で入力してください。',
]);

感想

ITの技術職に転職して約1カ月…アウトプットのために今日から記事を書き始めました!
レベルが低くて毎日泣いちゃいそうですが、ちょっとずつ頑張りたいです!

0
0
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
0
0