2017-03-17 48 views
1

我與這些輸入的一種形式:nameheightweightmobilenumbers[](這是一個數組) 例如:mobilenumbers如何驗證表單數據是數組之一?

[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', 


    ]); 

和手機:美國,我現在用在這裏是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', 
    ]; 
}