Mohammad Yousef3 نشر 3 أبريل 2021 أرسل تقرير نشر 3 أبريل 2021 لدي بيانات على شكل JSON كما هي أمامكم payload = { "name": "My Name", "email": "email@xyz.com", "password": "password", "gender": "male", "age": 10, "mobile_number": "0123456789", "company_name": "xyz", "verification_status": 0, "image_url": "image.png", "address": "Address", "lattitude": 0, "longitude": 0, "message": "a Message", "profession_id": 1, "designation_id": 1, "skills": [ { "id": 1, "custom" : "new custom1" } ] } وأريد أن أقوم بالتحقق من صحتها باستخدام validate قبل ادراجها في قاعدة البيانات public function store(Request $request) { $this->validate($request, [ 'name' => 'digits', 'age' => 'digits', ]); } ولكن هذا البرنامج لا يعمل, ما الحل ؟ اقتباس
0 Waleed Alfakiat نشر 3 أبريل 2021 أرسل تقرير نشر 3 أبريل 2021 بما أنّ البيانات على شكل JSON يجب أولًا قراءة محتوياتها لتتمكن Laravel من التعامل معها وذلك باستخدام الدالة: json_decode($data); التي تقوم بتحويل شكل البيانات من JSON إلى مصفوفة بعد ذلك نمررها إلى validate ونطبق القواعد على البيانات use Validator; public function store(Request $request) { $data = json_decode($request->payload, true); $rules = [ 'name' => 'digits:8', 'age' => 'digits:8' ]; $validator = Validator::make($data, $rules); if ($validator->passes()) { // الاجراءات عند عدم صحة البيانات } else { // الاجراءات عند نجاح عملية التحقق } } ولكن يجب أن نتذكر بأن القاعدة digits تقوم بالتحقق من أن القيم عبارة عن أرقام, ويجب ان نمرر لها عدد الخانات المسموح بها فتصبح هكذا: digits:8 1 اقتباس
0 بلال زيادة نشر 4 أبريل 2021 أرسل تقرير نشر 4 أبريل 2021 يجب تحويل البيانات التي تكون على شكل json إلى متغيرات PHP باستخدام json_decode ,وهذه الدالة تقوم بأخذ سلسلة JSON المشفرة وتحويلها إلى متغير PHP. فيمكننا التحقق من بيانات json في المتحكم بهذه الطريقة use Validator; public function store(Request $request) { $data = json_decode($request->payload, true); $rules = [ 'name' => 'digits:8', 'age' => 'digits:8' ]; $validator = Validator::make($data, $rules); if ($validator->passes()) { // ... } else { // ... dd($validator->errors()->all()); } } اقتباس
السؤال
Mohammad Yousef3
لدي بيانات على شكل JSON كما هي أمامكم
payload = { "name": "My Name", "email": "email@xyz.com", "password": "password", "gender": "male", "age": 10, "mobile_number": "0123456789", "company_name": "xyz", "verification_status": 0, "image_url": "image.png", "address": "Address", "lattitude": 0, "longitude": 0, "message": "a Message", "profession_id": 1, "designation_id": 1, "skills": [ { "id": 1, "custom" : "new custom1" } ] }وأريد أن أقوم بالتحقق من صحتها باستخدام validate قبل ادراجها في قاعدة البيانات
ولكن هذا البرنامج لا يعمل, ما الحل ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.