RockLobsterInc\Swv\Rules

AnyRule::validate │ public │ CF7 1.0

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

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

Хуков нет.

Возвращает

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

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

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

Код AnyRule::validate() CF7 6.2.4.1

public function validate(FormDataTree $form_data, array $context = [])
{
    $is_valid = null;

    foreach ($this->rules() as $rule) {
        if ($rule->matches($context)) {
            try {
                $is_valid = true;
                $rule->validate($form_data, $context);
            } catch (Invalidity $error) {
                $is_valid = false;
            }

            if ($is_valid) {
                break;
            }
        }
    }

    if (false === $is_valid) {
        throw new Invalidity($this);
    }

    return true;
}