個人的によく使うLaravelのバリデーション

えび

Laravelで開発時によく使用するバリデーションをメモ
随時加筆予定・・

重複チェック

  • uniqueを使用
public function rules()
{
  return [
    'email' => [Rule::unique('users')],
   ];
}

// ログイン中のユーザーIDは除外
public function rules()
{
  return [
    'email' => [Rule::unique('users')->ignore(Auth::id())],
   ];
}

// deleted_at (理論削除)のものは除外
public function rules()
{
  return [
    'email' => [Rule::unique('users')->whereNull('deleted_at')],
   ];
}

keyに存在する場合のみチェック

  • nullableを使用
public function rules()
{
  return [
    'password' => ['nullable', 'min:8'],
   ];
}

他のカラムを参照する

  • required_without,required_with, required_if, required_unlessを使用
public function rules()
{
  return [
    // twitter_tokenが存在しない場合必須
    'email' => ['required_without:twitter_token'],
   ];
}

public function rules()
{
  return [
    // is_adminが存在する場合必須
    'email' => ['required_with:is_admin'],
   ];
}

public function rules()
{
  return [
    // typeが1の場合必須
    'email' => ['required_if:type, 1'],
   ];
}

public function rules()
{
  return [
    // typeが1出ない場合必須
    'email' => ['required_unless:type, 1'],
   ];
}

\ 案件のご依頼・ご相談はこちらから /