Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
8
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@sola-msr

【Laravel5.4】色々なバリデーション方法

  • 以下に記すのは実際に挙動を確認したものでリーダブルより若干わかりやすく書いているつもりです
    が、間違っているかもしれませんので基本はリーダブルを参照してください。

必須項目

required

~の場合は必須項目にする(例:×を選択した人はある項目を必須にする)

required_if

// 例:company項目の値がqiitaの場合は対象の項目を必須にする
required_if:company,qiita,

~に値がある場合は~も必須項目にする

required_with

// 例:company項目に値が入力されている場合は対象のemployee_id項目も必須にする
required_with:company,employee_id,

任意項目(空白を許可する)

nullable

メールアドレスのフォーマットチェック

email

最小入力文字数のチェック

min:数字

最大入力文字数のチェック

max:数字

入力桁数のチェック

digits_between|最小値,最大値

// 例:1桁以上3桁以下で入力させたい場合
digits_between:1,3

再入力欄との整合性チェック

confirmed
※このバリデーションを使用する際は再入力項目の名前を~_confirmationのように命名しないと使えません

// 例:パスワード項目で再入力欄を設ける場合
'password'              => 'required|confirmed',
'password_confirmation' => 'required',

正規表現

regex:/[正規表現]/

// 例:半角英数字のみ許可する場合
regex:/^[a-zA-Z0-9]+$/

数値チェック

numeric

項目が有効(disabled属性なし)の時、必須

sometimes

※逆にdisabled属性ありの場合は通ってしまうのであんまり使わない方がいいかもしれません・・・
required_ifの方がいいかもしれません)

※また追加していく予定です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
8
Help us understand the problem. What are the problem?