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

السؤال

Recommended Posts

  • 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
  • 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
نشر

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

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...