شنبه یه خبراییه 🔥 منتظر شنبه باش 😉🥳
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ عادل غفاری
VALIDATION
جامعه پی اچ پی ایجاد شده در ۲۷ دی ۱۴۰۱

سلام وقت بخیر ببخشید من اومدم برای update ولیدیت کردن بعد میخام بدونم ک درست انجام دادم (اصولیه)

    public function is_valid_city($city_id, $city_name)
    {
        global $pdo;
        if (!is_null($city_id) and !empty($city_name) and is_numeric($city_id)) {
            $sql = "SELECT * from city where id = :id";
            $stmt = $pdo->prepare($sql);
            $stmt->execute([':id' => $city_id ?? '']);
            $record = $stmt->fetch(PDO::FETCH_OBJ);
            return $record ? true : false;
        }
    }
----------------------------------------------------
    case 'PUT':
        [$city_id, $city_name] = [$request_body['city_id'] ?? '', $request_body['name'] ?? ''];
        if (!$validator->is_valid_city($city_id, $city_name))
            Respones::respondAndDie("Invalid City Data", Respones::HTTP_NOT_ACCEPTABLE);
        $respones = $city_service->updateCity($city_id, $city_name);
        Respones::respondAndDie($respones, Respones::HTTP_OK);

سلام عادل عزیز

کد ولیدیت‌ای که نوشتین نیاز به کمی اصلاح داره، بهتره که به صورت زیر نوشته بشه:

public function is_valid_city($city_id, $city_name)
{
    global $pdo;
    if (is_null($city_id) || !is_numeric($city_id) || empty($city_name)) {
        return false;
    }
    $sql = "SELECT * from city where id = :id";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([':id' => $city_id]);
    $record = $stmt->fetch(PDO::FETCH_OBJ);
    return $record ? true : false;
}
بهترین پاسخ
صادق برزگر ۲۷ دی ۱۴۰۱، ۰۷:۴۹