2017-06-13 165 views
2

我想將laravel驗證錯誤數組轉換爲逗號分隔的字符串。這是用於ios應用程序的api服務。以便iOs開發人員可以輕鬆處理錯誤消息。Laravel驗證字符串錯誤消息

我試過,

$valArr = []; 
    foreach ($validator->errors() as $key => $value) { 
     $errStr = $key.' '.$value[0]; 
     array_push($valArr, $errStr); 
    } 
    if(!empty($valArr)){ 
     $errStrFinal = implode(',', $valArr); 
    } 

但它無法正常工作。

回答

0
You are not converting validation errors to array.Please use the below function and pass validation errors as parameter. 

public function validationErrorsToString($errArray) { 
     $valArr = array(); 
     foreach ($errArray->toArray() as $key => $value) { 
      $errStr = $key.' '.$value[0]; 
      array_push($valArr, $errStr); 
     } 
     if(!empty($valArr)){ 
      $errStrFinal = implode(',', $valArr); 
     } 
     return $errStrFinal; 
    } 
//Function call. 
$result = $this->validationErrorsToString($validator->errors()); 
3

你應該這樣做:

$errorString = implode(",",$validator->messages()->all()); 

附:假設

$validator = Validator::make($dataToBeChecked,$validationArray,$messageArray)