проверка cakephp3 с условием ИЛИ - PullRequest
0 голосов
/ 16 апреля 2019

Я использую CakePHP3.Я хотел бы разрешить 2 типа данных для адресного поля: IPv4 или FQDN.Есть ли способ вернуть подтверждение успеха, если адрес соответствует ipv4 или FQDN?

Я попытался это сделать безуспешно:

public function validationIpv4OrFqdn(Validator $validator)
{
    $validator
    ->add('address', 'notEmpty', [
        // Regex for FQDN
        'rule' => ['custom', "/(?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{1,63}(?<!-)\.)+[a-zA-Z]{2,63}$)/i"],
        'message' => __('Invalid FQDN')
    ]);
    $validator
      ->add('address', 'notEmpty', [
        'rule' => ['ip', 'ipv4'],
        'message' => __('Invalid IP Address')
    ]);
    return $validator;
}
...