سلام من قصد دارم یه پروژه با react و لاراول پیاده سازی کنم اما برای لاگین و ریجیستر کردن ارور 422 در کنسول بهم نمایش داده میشه البته همه چیز درست پیش میره و اعتبار سنجی درست ولی اروز 422 در کنسول نمایش داده میشه چیکار کنم؟
این مشکل خودم حل کردم بهتر پاسخش بدم اگر شخص دیگه ای با این موضوع رو به رو شد بتونه حلش کنه :
اعتبار سنجی لاراول کد وضعیت 422 رو بر میگردنه که از exception validation استفاده میکنه برای تغییر وضعیت دوتا راه هست یکی اینکه
exception validation شخصی بسازیم دوم اینکه یه respons ایجاد کنیم و متد rules رو با مقادیر مورد نظر پر کنیم و متد failedValidation را override کنیم به شکل زیر :
protected function failedValidation(Validator $validator)
{
throw (new ValidationException($validator))
->errorBag($this->errorBag)
->redirectTo($this->getRedirectUrl())->status(200);
}
درون متد status میتونیم کد وضعیت مورد نظر رو به دلخواه تغییر بدیم که من اینجا کد وضعیت برابر 200 قرار دادم که یعنی با موقیت انجام شد.
احتمالا واسه برگشت دادن ولیدیشن هست، قبل از ولیدیشن یه ریسپانس برگردون و چاپ کن، یکی یکی چک کن ببین کدوم قسمت داره مشکل ایجاد میکنه
نه validation درست انجام میشه و فیلد هایی که error داره رو برمیگردونه همونطور که میدونید کد وضعیت validation 422 هست که این درست ولی تو کنسول ارور 422 میده (POST http://127.0.0.1:8000/api/v1/login 422 (Unprocessable Entity))
این مشکل خودم حل کردم بهتر پاسخش بدم اگر شخص دیگه ای با این موضوع رو به رو شد بتونه حلش کنه :
اعتبار سنجی لاراول کد وضعیت 422 رو بر میگردنه که از exception validation استفاده میکنه برای تغییر وضعیت دوتا راه هست یکی اینکه
exception validation شخصی بسازیم دوم اینکه یه respons ایجاد کنیم و متد rules رو با مقادیر مورد نظر پر کنیم و متد failedValidation را override کنیم به شکل زیر :
protected function failedValidation(Validator $validator)
{
throw (new ValidationException($validator))
->errorBag($this->errorBag)
->redirectTo($this->getRedirectUrl())->status(200);
}
درون متد status میتونیم کد وضعیت مورد نظر رو به دلخواه تغییر بدیم که من اینجا کد وضعیت برابر 200 قرار دادم که یعنی با موقیت انجام شد.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟