2017-03-17 8 views
1

Iは、これらの入力を持つフォームを有する:nameheightweight及びmobilenumbers[](これは配列である)、例えば :mobilenumbersフォームデータの1つを配列として検証する方法は?

[12345678,88665544,45456574,33669988] 

ユーザが動的 "mobilenumbers" の複数のフィールドを追加することができます。私は "mobilenumbers"の配列を検証する必要があります。それ、どうやったら出来るの? Laravelのドキュメントはかなり混乱しています。 AppServiceProviderでカスタム検証を書く必要があるかどうか、あるいは単純に配列の各データを検証できますか? laravel 5.4ドキュメントの それが何か言う:

$validator = Validator::make($request->all(), [ 
'person.*.email' => 'email|unique:users', 
'person.*.first_name' => 'required_with:person.*.last_name', 
]); 

をしかし、私の場合には、私の配列は単に、私はそれをどのように行うか、[] mobilenumbersされますか?

事前にどうもありがとう

答えて

1

私は答えを見つけました。

public function create(Request $request){ 

    $validation = $this->validate($request, [ 

     'name' => 'Required', 
     'mobilenumbers.*' => 'phone:US', //adding.* identifies it as an array 
     'height' => 'required', 
     'weight' => 'Required', 


    ]); 

と電話:US私はここで使用していることは、あなたがMOBILENUMBER形式をチェックするのに役立ちますanoterパッケージはspeficied国TPEであるかではありません。すべての入力された携帯電話番号が米国の番号であるかどうかを確認するために、私は米国を使用しています。 あなたはそのライブラリをlaravelのためにここにチェックアウトすることができます:https://github.com/Propaganistas/Laravel-Phone

1
$validator = Validator::make(
    ['person.*.mobilenumbers.*' => 'required|numeric|min:1' 
); 
2

あなたは妥当性を検証しようとしているということは何ですか?配列に少なくともいくつかの値があることを確認したい場合は、

public function rules() 
{ 
    return [ 
     'mobilenumbers' => 'min:1', 
    ]; 
} 
関連する問題