RockLobsterInc\Swv\Rules

MinFilesizeRule::validate │ public │ CF7 1.0

Validates the form data according to the logic defined by this rule.

Метод класса: MinFilesizeRule{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$MinFilesizeRule = new MinFilesizeRule();
$MinFilesizeRule->validate( $form_data, $context );
$form_data(FormDataTree) (обязательный)
Form data.
$context(массив)
Optional context.
По умолчанию: []

Код MinFilesizeRule::validate() CF7 6.2.4.1

public function validate(FormDataTree $form_data, array $context = [])
{
    $files = $form_data->getAllFiles($this->field);
    $files = array_flatten($files);

    if (empty($files)) {
        return true;
    }

    $file_size = array_reduce(
        $files,
        static function ($carry, $item) {
            $carry += $item->size();
            return $carry;
        },
        0,
    );

    if ($file_size < (int) $this->threshold) {
        throw new Invalidity($this, ["cause" => $file_size]);
    }

    return true;
}