2015-01-15 1 views
0

У меня есть входной массив элементов, который передается контроллеру. До сих пор я проверял, что данные есть, имеет тип «array» и имеет как минимум 1 элемент.Проверка элементов массива

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

Но теперь я хотел бы, чтобы убедиться, что все элементы в массиве не либо пуста (например, строковым "" или пустое пространство " ". Я не могу предвидеть, сколько элементов массива будет иметь.

Как я могу добиться этого

ответ

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; 
}); 

с

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

На самом деле вы даже не нужно проверять '' strlen' без trim'. 'strlen (trim ($ entry)) == 0' будет охватывать все. – lukasgeiter

+0

Отредактировано, спасибо =) – Josh

 Смежные вопросы

  • Нет связанных вопросов^_^