Laravel検証ルール

6891 ワード


ルール#ルール#
accepted
このフィールドの値はyes、on、1またはtrueでなければならない.必須ルール
'is_read'=>'accepted'

active_url
PHP関数checkdnsrrに基づく有効なURLである必要があります.ドメイン名アドレスが存在すると考えられます.
'url'=>'active_url'

after:date
指定日以降の日付
//              ,        2015-05-25 10:23:15
'start_date' => 'required|date|after:tomorrow'
//  2018-05-26    
'start_date'=>''after:2018-05-26''

before:date
検証フィールドは、指定した日付より前の数値でなければなりません.
//              ,        2015-05-25 10:23:15
'start_date' => 'required|date|after:tomorrow'
//  2018-05-26    
'start_date'=>''after:2018-05-26''

alpha,
このフィールドは、正則[a-zA-Z]のようなアルファベットでなければなりません.
'ename'=>'alpha'

alpha_dash
このフィールドには、正則wのようなアルファベットと数字、ダッシュと下線を含めることができます.
alpha_num
このフィールドはアルファベットまたは数値でなければなりません
array
このフィールドはPHP配列でなければなりません
between:min,max
フィールドサイズが指定された最小値と最大値の間にあることを確認します.文字列、数値、ファイルはこのルールで文字の長さを表すことができます.中国語も文字数で計算されます.
  'name'=>'between:10,100|required'

boolean
フィールドはbooleanに変換し、true、false、1,0、1、0などの入力を受信する必要があります.
confirmed
検証フィールドには、パスワードの確認など、2つのフォーム名が必要です.たとえば、1つはname、もう1つはname_confirmation
‘name’=>'confirmed'

date
有効な日付を確認します.
//2018-05-24 11:40:26    ,
‘age_date’=>'date'

date_format:format
検証フィールドは指定したフォーマットに一致する必要があります.
//2018-05-24     ,2018-05-24 18:0:0      
‘age_date’=>'date_format:Y-m-d'

different:field
検証フィールドは、指定したフィールドとは異なる値でなければなりません.このconfirmedとは反対です.
digits:value
数値で、valueで指定した長さの値でなければなりません.
'age'=>'digits:2'

digits_between:min,max
検証フィールドの数値の長さは、最小値と最大値の間でなければなりません.数値でなければなりません.
dimensions
検証されたピクチャサイズは、指定されたパラメータによって指定された制約を満たす必要があります.
distinct
配列を処理する場合、検証フィールドに重複値を含めることはできません.
'foo.*.id' => 'distinct'

email
検証フィールドは、フォーマットされたEメールアドレスでなければなりません.
exists:table,column
検証フィールドの値はデータテーブルに存在する必要があります
//     users name          ,       
'name' => 'exists:users,name'

条件からwhereへのクエリー句
'email' => 'exists:staff,email,account_id,1'

'email' => 'exists:staff,email,role,!admin'

'email' => 'exists:staff,email,deleted_at,NULL'
'email' => 'exists:staff,email,deleted_at,NOT_NULL'

次の2つのパラメータが条件ですdeleted_at is null
file
この検証フィールドは、アップロードに成功したファイルである必要があります.
filled
この検証フィールドは、存在する場合は空にできません.
image
検証ファイルはピクチャ(jpeg、png、bmp、gifまたはsvg)でなければなりません.
in:foo,bar…
フィールド値の検証は、指定されたリストにある必要があります.
    'name'=>'in:kongqi,bst',

not_in:foo,bar,…
フィールド値が指定されたリストにないことを確認します.
in_array
検証フィールドは別のフィールドに存在する必要があります
     'name'=>'in_array:name_confirmation',

integer
検証フィールドは整数でなければなりません
ip
検証フィールドはIPアドレスでなければなりません
JSON
検証フィールドは有効なJSON文字列でなければなりません
size:value
検証フィールドには、文字列に対してvalueが対応する文字数である所定の値valueと一致するサイズが必要です.数値の場合、valueは所定の整数値である.ファイルの場合valueは対応するファイルバイト数です
max:value
検証フィールドは最大値以下で、文字列、数値、ファイルフィールドのsizeルールとともに使用する必要があります.
min:value
文字列、数値、ファイルフィールド、sizeルールの使用方法と一致するフィールドの最小値を検証します.
mimetypes:text/plain…
string
検証フィールドは文字列でなければなりません
Unique:table,column,except(無視されたフィールド値)、idColumn(デフォルト無視はIDフィールド)
検証フィールドは、指定したデータテーブル上で一意である必要があります.columnオプションを指定しない場合、フィールド名はデフォルトのcolumnとして使用されます.
カスタム列名を指定します.
'email' => 'unique:users,email_address'

データベース接続のカスタマイズ
'email' => 'unique:connection.users,email_address'

指定されたIDを無視する一意のルールを強制します.
'email' => 'unique:users,email_address,'.$user->id
//               id,           :
'email' => 'unique:users,email_address,'.$user->id.',user_id'
//     where  :
//  account_id 1           。
'email' => 'unique:users,email_address,NULL,id,account_id,1'


numeric
検証フィールドは数値でなければなりません
string
検証フィールドは文字列でなければなりません
present
検証フィールドは入力データに表示される必要がありますが、空にすることができます.
regex:pattern
検証フィールドは、指定された正規表現ルールに一致する必要があります.配列に配置する必要があります.
  'name'=>[
              'regex:/\d/',
               'required',
            ],

required
入力フィールド値を空にすることはできません.null値がnull値である場合null値が空の文字列値である場合null値が空の配列である場合、または空のCoutableオブジェクト値がアップロードファイルですが、パスが空です.
required_if:anotherfield,value,…
検証フィールドは、別のフィールドが指定値valueに等しい場合に必要です.
  'name'=>[
              //  name_confirmation  =2 name   
              'required_if:name_confirmation,2',       
            ],

required_unless:anotherfield,value,…
anotherfieldフィールドがvalueに等しい場合を除き、検証フィールドは空にできません.
  'name'=>[
              //  name_confirmation  !=2 name   
              'required_unless:name_confirmation,2',       
            ],

required_with:foo,bar,…
検証フィールドは、他のいずれかの指定フィールドが存在する場合にのみ必要です.
  'name'=>[
              //    name_confirmation       , name    
              'required_with:name_confirmation'
            ],

required_with_all:foo,bar,…
検証フィールドは、指定されたすべてのフィールドが存在する場合にのみ必要です.
required_without:foo,bar,…
検証フィールドは、いずれかの指定フィールドが存在しない場合にのみ必要です.
required_without_all:foo,bar,…
検証フィールドは、指定されたすべてのフィールドが存在しない場合にのみ必要です.
カスタム検証ルール
providers登録app/Providers/AppServiceProvider.php
//    
use Validator;
public function boot()
    {
        Validator::extend('foo', function($attribute, $value, $parameters, $validator) {
            return $value == 'foo';
        });
    }

$attributeプロパティ名、$value値、$parametersパラメータ、$validator検証インスタンス
クラスの登録
public function boot()
    {
       Validator::extend('foo', 'FooValidator@validate');
    }


定義エラー情報は、言語パッケージ内の検証ファイルのcustomの下に配列定義されます.たとえば、
  'custom' => [
        'attribute-name' => [
            'rule-name' => 'custom-message',
        ],
        'name'=>[
          'alpha'=>' bi xi shi zimu',
          "foo" => "Your input was invalid!",
        ],

    ],