محمد
4 سال پیش توسط محمد مطرح شد
3 پاسخ

اعتبار سنجی و ارور 442 در reactjs و laravel

سلام من قصد دارم یه پروژه با react و لاراول پیاده سازی کنم اما برای لاگین و ریجیستر کردن ارور 422 در کنسول بهم نمایش داده میشه البته همه چیز درست پیش میره و اعتبار سنجی درست ولی اروز 422 در کنسول نمایش داده میشه چیکار کنم؟


ثبت پرسش جدید
محمد
تخصص : php , laravel , react
@imamaad 4 سال پیش مطرح شد
0

این مشکل خودم حل کردم بهتر پاسخش بدم اگر شخص دیگه ای با این موضوع رو به رو شد بتونه حلش کنه :
اعتبار سنجی لاراول کد وضعیت 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 قرار دادم که یعنی با موقیت انجام شد.


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش مطرح شد
0

احتمالا واسه برگشت دادن ولیدیشن هست، قبل از ولیدیشن یه ریسپانس برگردون و چاپ کن، یکی یکی چک کن ببین کدوم قسمت داره مشکل ایجاد میکنه


محمد
تخصص : php , laravel , react
@imamaad 4 سال پیش مطرح شد
0

نه validation درست انجام میشه و فیلد هایی که error داره رو برمیگردونه همونطور که میدونید کد وضعیت validation 422 هست که این درست ولی تو کنسول ارور 422 میده (POST http://127.0.0.1:8000/api/v1/login 422 (Unprocessable Entity))


محمد
تخصص : php , laravel , react
@imamaad 4 سال پیش مطرح شد
0

این مشکل خودم حل کردم بهتر پاسخش بدم اگر شخص دیگه ای با این موضوع رو به رو شد بتونه حلش کنه :
اعتبار سنجی لاراول کد وضعیت 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 قرار دادم که یعنی با موقیت انجام شد.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام