2015-01-15 65 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