# sync-basalam/1.10.0/includes/Services/Api/ApiRequestValidator.php

ووسلام – همگام سازی ووکامرس و باسلام, version 1.10.0. 77 lines.

- Page: https://pluginprobe.com/plugins/sync-basalam/1.10.0/code/includes/Services/Api/ApiRequestValidator.php
- Raw: https://pluginprobe.com/plugins/sync-basalam/1.10.0/raw/includes/Services/Api/ApiRequestValidator.php
- Modified: 2026-07-11T07:54:58+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/sync-basalam/1.10.0/code/includes/Services/Api/ApiRequestValidator.php#L10-L20`.

```php
<?php

namespace SyncBasalam\Services\Api;

defined('ABSPATH') || exit;

class ApiRequestValidator
{
    public function validate(string $url, $data, array $headers = []): array
    {
        if (empty($url)) {
            return [
                'valid'   => false,
                'message' => 'URL الزامی است.'
            ];
        }

        if (!empty($data) && !$this->isValidData($data)) {
            return [
                'valid'   => false,
                'message' => 'داده های ورودی باید JSON باشد.'
            ];
        }

        if (!empty($headers) && !$this->isValidHeaders($headers)) {
            return [
                'valid'   => false,
                'message' => 'فرمت هدرها نامعتبر است.'
            ];
        }

        return [
            'valid' => true,
            'message' => 'اعتبارسنجی با موفقیت انجام شد.'
        ];
    }

    private function isValidData($data): bool
    {
        return is_array($data);
    }

    private function isValidHeaders(array $headers): bool
    {
        return is_array($headers);
    }

    public function validateFile(string $filePath): array
    {
        if (empty($filePath)) {
            return [
                'valid'   => false,
                'message' => 'فایل الزامی است.'
            ];
        }

        if (!file_exists($filePath)) {
            return [
                'valid'   => false,
                'message' => "فایل وجود ندارد: {$filePath}"
            ];
        }

        if (!is_readable($filePath)) {
            return [
                'valid'   => false,
                'message' => "فایل دسترسی read ندارد: {$filePath}"
            ];
        }

        return [
            'valid' => true,
            'message' => 'اعتبارسنجی فایل با موفقیت انجام شد.'
        ];
    }
}

```
