重複チェック
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に存在する場合のみチェック
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'],
   ];
}
 
 
Laravelで開発時によく使用するバリデーションをメモ
随時加筆予定・・