Так у меня есть Laravel:AngularJS + Laravel 5 Запрос возвращает Неопределенное
Контроллер:
public function store(CreateRoomRequest $request)
{
//Code
}
CreateRoomRequest:
class CreateRoomRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|unique:rooms|max:255',
'short_description' => 'required',
'long_room' => '',
'long_other' => '',
'long_houserules' => '',
'long_neighbourhood' => '',
'long_transportation' => '',
'image' => '',
'street' => 'required',
'streetnumber' => 'required|numeric|max:5',
'city' => 'required',
'postalcode' => 'required|numeric|max:4',
'roomnumber' => 'required',
'type' => 'required|in:kamer,studio,loft, appartement, huis, villa, camper, boomhut, hut, trein, boot, tent, slaapzaal, zolder, overige',
'link' => '',
'latitude' => 'required',
'longitude' => 'required',
'ranking' => 'numeric'
];
}
/**
* Return validation messages that apply to the request.
*
* @return array
*/
public function messages()
{
return [
'name.required' => 'Gelieve een advertentienaam in te vullen.',
'name.unique' => 'Deze advertentienaam bestaat al. Gelieve een unieke advertentienaam in te vullen.',
'name.max' => 'De advertentienaam is langer dan 255 tekens. Gelieve een kortere naam in te vullen.',
'short_description.required' => 'Gelieve een description in te vullen.',
'street.required' => 'Gelieve een straat in te vullen.',
'streetnumber.required' => 'Gelieve u huisnummer in te vullen',
'city.required' => 'Gelieve u stad in te vullen',
'postalcode.required' => 'Gelieve u postcode in te vullen',
'roomnumber.required' => 'Gelieve een kamernummer in te vullen.',
'type.required' => 'Gelieve het type ruimte te specifiëren.',
'type.in' => 'Het opgegeven type kamer is niet correct. Gelieve een geldig type te selecteren.',
'latitude.required' => 'De opgegeven locatie kon niet gevonden worden. Gelieve een geldige locatie op te geven.',
'longitude.required' => 'De opgegeven locatie kon niet gevonden worden. Gelieve een geldige locatie op te geven.'
];
}
}
И в моем Laravel У меня есть следующие службы (после Johnpapa):
function createRoom(roomCreateData) {
console.log(roomCreateData);
return $http({
method: 'POST',
url: 'api/rooms',
headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
data: $.param(roomCreateData)
}).then(createRoomSuccess).catch(createRoomError);
function createRoomSuccess(response) {
$log.info('Creating room success: ' + response);
return response;
}
function createRoomError(error) {
$log.info('Creating room failed because: ' + error);
return error;
}
}
Без проверки. Все работает (хранение, ...). Но когда я хочу проверить свои данные с помощью CreateRoomRequest при ошибке проверки, я получаю следующее:
422 непроизводимый объект (это правильно, потому что это то, что Laravel возвращает, когда валидатор выходит из строя (так что я думаю, что это работает валидатор .) Но, я не получаю никаких сообщений Каждый возврат я вхожу неопределен
Laravel документы состояние:..
Если проверка не пройдена, ответ редирект будет генерироваться для отправки пользователю обратно к их предыдущему местоположению. Ошибки также будут мигать к сеансу, чтобы они были доступны для отображения. Если запрос был запросом AJAX, ответ HTTP с кодом статуса 422 будет возвращен пользователю, включая представление ошибок проверки правильности JSON.
Теперь мой вопрос: где возвращение JSON?
Пс: Я также попытался удалить мои сообщения об ошибках, тот же результат.
Заранее спасибо