Phalcon 中的新(形式)元素

New (Form) Element in Phalcon

有一个 phone 数字的动态列表,所以我认为在自定义元素中抽象它是个好主意。

有一个问题,虽然我不知道如何重用现有元素,或者验证应该如何工作 ($form->isValid() 应该检查 phone 数字是否匹配特定模式,例如) .

我怎样才能实现那个元素?

你可以使用正则表达式,官方文档中有例子:

<?php

use Phalcon\Validation;
use Phalcon\Validation\Validator\Regex;

$validation = new Validation();

$validation->add(
    'telephone',
    new Regex(
        [
            'message'    => 'The telephone is required',
            'pattern'    => '/\+44 [0-9]+/',
            'allowEmpty' => true,
        ]
    )
);

https://docs.phalconphp.com/hu/3.2/validation#cancelling


或者您可以使用更好的正则表达式模式:

$regex = "/^(\d[\s-]?)?[\(\[\s-]{0,2}?\d{3}[\)\]\s-]{0,2}?\d{3}[\s-]?\d{4}$/i";

https://ericholmes.ca/php-phone-number-validation-revisited/