2017-02-19 11 views
2

Мне нужно преобразовать массив ошибок проверки формы laravel в строку только значения. Я не хочу использовать json_encode.Простой способ преобразования массива в strin

enter image description here

в моем случае я пытаюсь сделать функцию сохранения редактирования с помощью AJAX. , поэтому я решил получить ошибки проверки формы как строку из контроллера.

запись функции обратного вызова для преобразования массива ошибок в строку, поэтому ключ ошибки может изменить форму для формирования. Как мне это сделать.

Есть ли лучший способ справиться с этой ситуацией ..

Это то, что я пытался

if ($validator->fails()) { 
    $error = $validator->getMessageBag()->toArray(); 
    echo '<pre>'; print_r($error); echo '</pre>'; 
    $error_str = ''; 
    foreach ($error as $row){ 
     $error_str .= $row[0].'</br>'; 
    } 
    echo $error_str; 
} 

ответ

2

Вы не должны использовать $row[0], потому что это будет только принести первую ошибку из списка ошибок конкретных поле.
Вот решение, чтобы получить все ошибки в одной строке с ее именем поля.

$str = implode("\n", 
     array_map(function($e, $key){ 
      return $key.": ". implode(", ",$e); 
     }, $error, array_keys($error)) 
    ); 
    print_r($str); 

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

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