Я новичок в Laravel и VueJS. Я построил форму HTML с VueJS и смог передать полезную нагрузку на контроллер Laravel и вернуть соответствующие ошибки проверки в виде объекта JSON. Ниже я покажу свой общий подход, но хотел бы знать, считается ли то, что я сделал, идиоматическим c Laravel + VueJS way?
У меня есть Laravel маршрут и контроллер, подобный этому:
Route::post('/appetizer', 'AppetizerController@store')->name('appetizer.store');
class AppetizerController extends Controller {
public function store (Request $request) {
$request->validate([
"name"=>"required",
"calories"=>"required"
]);
// Process Credit Card
// ... ... etc ... ...
if(!$process_credit_card_success) {
return response()->json(["errors"=>["credit_card"=>$errors_from_capital_funds_management]]);
}
}
}
Я сделал HTML форму, которая полностью VueJS. Я добавил событие отправки, которое делает аксиологические вызовы, подобные этому:
window.axios.post("/appetizer",{
"name":"Salad"
}).then(response=>{
console.log("success",response);
}).catch(response=>{
console.log("catch",response.response.data.errors);
// Update the state/properties of my VueJS components based on response.response.data.errors
});
Я сознательно отправил полезную нагрузку с ошибками формы в контроллер и успешно получил ответ 422 unprocessable entity
в моем catch block
. Свойство response.response.data.errors
содержит все сообщения проверки. Поэтому я буду работать непосредственно с response.response.data.errors
, чтобы получать сообщения об ошибках.
Это правильный путь? Должен ли я смотреть прямо на response.response.data.errors
вместо какой-либо другой абстракции для сообщений об ошибках?