نوب
4 سال پیش توسط نوب مطرح شد
1 پاسخ

بررسی ورودی های فرم توسط کاربر

سلام

قبلا توی PDO میومدیم و یکسری توابع مینوشتیم برای بررسی درست بودن و عدم وجود کدهای مخرب توسط کاربر برای ورود به دیتابیس

حالا توی لاراول 7 آیا این کارها اتوماتیک انجام میشه یا باید دوباره دستی بررسی کنیم ؟
کد نمونه آپدیت جدولی که نوشتم را میزارم

    public function edit(Request $request)
    {
        if (Gate::allows('user')) {
            $id = $request['id'];
            $mobile = strtr($request['mobile'], array('۰' => '0', '۱' => '1', '۲' => '2', '۳' => '3', '۴' => '4', '۵' => '5', '۶' => '6', '۷' => '7', '۸' => '8', '۹' => '9', '٠' => '0', '١' => '1', '٢' => '2', '٣' => '3', '٤' => '4', '٥' => '5', '٦' => '6', '٧' => '7', '٨' => '8', '٩' => '9'));
            $mobile2 = strtr($request['mobile2'], array('۰' => '0', '۱' => '1', '۲' => '2', '۳' => '3', '۴' => '4', '۵' => '5', '۶' => '6', '۷' => '7', '۸' => '8', '۹' => '9', '٠' => '0', '١' => '1', '٢' => '2', '٣' => '3', '٤' => '4', '٥' => '5', '٦' => '6', '٧' => '7', '٨' => '8', '٩' => '9'));
            $phone = strtr($request['phone'], array('۰' => '0', '۱' => '1', '۲' => '2', '۳' => '3', '۴' => '4', '۵' => '5', '۶' => '6', '۷' => '7', '۸' => '8', '۹' => '9', '٠' => '0', '١' => '1', '٢' => '2', '٣' => '3', '٤' => '4', '٥' => '5', '٦' => '6', '٧' => '7', '٨' => '8', '٩' => '9'));
            $phone2 = strtr($request['phone2'], array('۰' => '0', '۱' => '1', '۲' => '2', '۳' => '3', '۴' => '4', '۵' => '5', '۶' => '6', '۷' => '7', '۸' => '8', '۹' => '9', '٠' => '0', '١' => '1', '٢' => '2', '٣' => '3', '٤' => '4', '٥' => '5', '٦' => '6', '٧' => '7', '٨' => '8', '٩' => '9'));

            $this->validate(request(), [
                'mobile' => 'required|regex:/(09)[0-9]{9}/|digits:11|numeric',
                'phone' => 'required',
                'name' => 'required',
                'birthday' => 'required',
                'nic_account' => 'required',
                'nic_email' => 'required',
            ]);
            DB::table('users')
                ->where('id', '=', $id)
                ->update([
                    'name' => $request['name'],
                    'phone' => $phone,
                    'phone2' => $phone2,
                    'mobile' => $mobile,
                    'mobile2' => $mobile2,
                    'nic_account' => $request['nic_account'],
                    'nic_email' => $request['nic_email'],
                    'nic_password' => $request['nic_password'],
                    'address' => $request['address'],
                    'birthday' => $request['birthday'],
                ]);
            return Redirect::to("dashboard/editProfile")->with('successUpdate', "پروفایل شما ویرایش شد");

        } else {
            return redirect::to('/dashboard');
        }
    }

ثبت پرسش جدید
سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 4 سال پیش مطرح شد
2

@yk5742g سلام .
از ولیدیشن ها استفاده کنید .
لاراول خوبی که داره اینه که علاوه بر ولیدیشن های دیفالتش میتونید بر اساس نیاز خودتون هر ولیدیشن و قانونی رو که بخواین اضافه کنید .
لیست rule های از پیش تعیین شده لاراول :
https://laravel.com/docs/7.x/validation#available-validation-rules
چگونگی ایجاد رول یا قانون های شخصی و کاستوم :
https://laravel.com/docs/7.x/validation#custom-validation-rules
موفق باشید


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

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