Добавить ключ к ошибке проверки сообщения в laravel

Я строю JSON REST API. Мне нужно продлить библиотека проверки добавить статический тег "error":"validation_failed" для всей проверки не удалось вывод JSON.

    // create the validation rules ------------------------
$rules = array(
'firstName'         =>  'required',
'lastName'          =>  'required',
'email'             =>  'required|email|unique:users',
'reg_type'          =>  'required|in:'.implode(",", $this->types),
'oauthUId'          =>  'required_if:reg_type,'.implode(",", $this->externalTypes),
'password'          =>  'required_if:reg_type,email',
'parentId'          =>  'sometimes|integer|exists:user_accounts,id',
);

// do the validation ----------------------------------

$validator = Validator::make(Input::all(), $rules);

// check if the validator failed -----------------------

if ($validator->fails()) {
// get the error messages from the validator
return $validator->messages();
}
else {
// validation successful ---------------------------
}

Я проверил файл laravel / validator.php и обнаружил, что его нужно добавить в объект Illuminate \ Support \ MessageBag.

$this->messages->add($attribute, $message);

Как это сделать, расширив класс валидатора.

Мне нужен вывод JSON, как это

{
"error":
"validation_failed",
"firstName":
"The first name field is required.",
"lastName":
"The last name field is required.",
"reg_type":
"The selected reg type is invalid."}

0

Решение

Вы, вероятно, можете реализовать свой собственный класс валидатора и добавить к нему:

class MyValidator extends Validator {

public function passes()
{
if ( ! $passes = parent::passes())
{
$this->addError('error', 'validation_failed', []);
}

return $passes;
}

}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]