سلام من میخوام وقتی ولیدیشن fail میشه یه response به صورت json برگرده
مثل این کد زیر
$validator = Validator::make($request->all(), [
'title' => 'required'
]);
if ($validator->fails()) {
return response()->json(['message' => $validator->messages()->first(), 'status' => 'error']);
}
توی مثال بالا تو کنترلر این کارو انجام دادم
چجوری میتونم توی Request این json رو برگردونم
سلام
اگر میخوای با js درخواست بدی خودش تشخیص میده validation رو json میده
اگر میخوای با php یا زبان دیگه درخواست بدی باید
content-type: application/json
ست کنی
به این کد ها هم نیاز نیست فقط validate میکنی
خب توی ریکوئست ولیدیشن رو انجام میدم
یه متد داره به نام message که پیام رو برمیگردونه
مثلا میخوام همزمان status رو هم به صورت ارور برگردونم
مثل صورت سوال
سلام
دو تا راه برای اینکار هست:
۱. در ابتدای کار باید اینکه صفحه json هست رو تعریف کنی بعدش توی کد بازگشتی حتما مدل pretty تحویل بگیری و گرنه کد کلا در هم ریخته در میاد
اگر نیازی هست نمونه کد رو بنویسم کامل
۲. یک شبه صفحه میسازی که هر دفعه باز میشه از دیتابیس کوئری میگیره و شکلی که میخوای بصورت json یا html یا هر چیزی تایپ میکنه و به اصطلاح echo میگیره
اگر نیازی هست نمونه کد این یکی رو هم بنویسم
@soroush.neyestani.android
سلام ممنون از توضیحتون
ولی فک کنم منظورم رو اشتباه متوجه شدید
من تو ریکوئست میخوام جیسون برگردونم
منظورم این صفحس
یعنی به جای این کد که تو کنترلر قرار دادم
$validator = Validator::make($request->all(), [
'title' => 'required'
]);
if ($validator->fails()) {
return response()->json( ['message'=> $validator->messages()->first(), 'status' => 'error' ] );
}
این ولیدیشن رو توی ریکوئست بنویسم
class ProvinceRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
//
'title'=>'required'
];
}
public function messages()
{
return [
//
'title.required' => 'عنوان الزامی است.',
];
}
public function response(array $errors)
{
return new JsonResponse(['error' => $errors]);
}
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
}
یه متد پیدا کردم به اسم response درست کار میکنه ولی 422 برمیگردونه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟