اذهب إلى المحتوى
  • 0

تخصيص رسائل للخطأ عند التحقق من البيانات المرسلة Laravel

Mohammad Yousef3

السؤال

كيف أقوم بتخصيص الرسائل التي تظهر للمستخدم عند التحقق من صحة البيانات المرسلة من خلال form ؟

هذا البرنامج الخاص بي:

$this->validate($request, [
        'name' => 'required',
        'email' => 'required|email',
        'message' => 'required|max:250',
    ]
);

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك تحديد رسائل معينة لكي تظهر عند حدوث خطأ في صحة البيانات من خلال إضافة مصفوفة أخرى إلى التابع validate كالتالي:

$validationRules = [
    'name' => 'required',
    'email' => 'required|email',
    'message' => 'required|max:250',
];

$this->validate(
    $request,
    [
        'name' => 'required',
        'email' => 'required|email',
        'message' => 'required|max:250',
    ], 
    [
        'required' => 'هذا الحق مطلوب',
        'email' => 'يجب أن يكون هذا الحقل عبارة عن بريد إلكتروني'
    ]
);

يمكن أيضًا تخزين كل من الرسائل الخاصة وقواعد التحقق من صحة البيانات في متغيرين لجعل الكود أكثر قابلية للقراءة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تتيح الدالة validate تخصيص رسائل محددة

فتقوم باستقبال ثلاثة متغيرات هكذا:

$this->validate($request, $rules, $customMessages);

$request: وهو الطلب الذي يحتوي على القيم المراد التحقق من صحتها

$rules: وتحتوي على مجموعة القواعد التي سيتم تطبيقها على المدخلات

$customMessages: وهو اختياري, نقوم بتمرير الرسائل المخصصة للأخطاء مثل:

'required' =>' الحقل :attribute مطلوب.'

حيث أنّ

:attribute

يتم تعويضها تلقائيًا باسم الحقل

فيصبح البرنامج هكذا:

$rules = [
        'name' => 'required',
        'email' => 'required|email',
        'message' => 'required|max:250',
    ];
$customMessages = [
        'required' => ' الحقل :attribute مطلوب.',
    ];

$this->validate($request, $rules, $customMessages);

 

تم التعديل في بواسطة Alfakiat
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك تخصيص الرسائل لعمليات التحقق في لارافل بهذا الشكل

request()->validate([
        'file' => 'required',
        'type' => 'required'
    ],
    [
        'file.required' => 'You have to choose the file!',
        'type.required' => 'You have to choose type of the file!'
    ]);
$rules = array(
            'URL' => 'required|url'
        );    
$messages = array(
                'URL.required' => 'URL is required.'
            );
$validator = Validator::make( $request->all(), $rules, $messages );

if ( $validator->fails() ) 
{
    return [
        'success' => 0, 
        'message' => $validator->errors()->first()
    ];
}

يمكنك ايضا استخدام trans إذا كنت تستخدم الموقع بعدة لغات مثل 

['name.required'=> trans('user.your first name is required'],
$rules = [
  'username' => 'required,unique:users,username',
  'password' => 'required',
  'email'    => 'required,unique:users,email'
];

$messages = [
  'required'  => 'The :attribute field is required.',
  'unique'    => ':attribute is already used'
];

$request->validate($rules,$messages);

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...