2015-01-15 67 views
0

我有一個傳入控制器的輸入數組元素。到目前爲止,我已檢查數據在那裏,是「數組」類型,並且至少有1個元素。驗證數組的元素

$validator = Validator::make($data, [ 'option' => 'required|array|min:1' ]); 

但現在我想,以確保在陣列中的所有元素都沒有任何emtpy(例如字符串""或空白區" ",我無法預料的數組有多少元素都有。

我怎麼能做到這一點

回答

0

您可以使用自定義的驗證規則Here are the docs

事情是這樣的:

Validator::extend('array_not_whitespace', function($attribute, $value, $parameters) 
{ 
    foreach($value as $entry) 
    { 
     if (strlen(trim($entry)) == 0) 
      return false; 
    } 
    return true; 
}); 

​​
+1

其實你甚至不需要檢查'strlen'沒有'trim'。 'strlen(trim($ entry))== 0'將覆蓋所有內容。 – lukasgeiter

+0

編輯,謝謝=) – Josh