如何在zend的表单类中添加正则表达式验证器

阿里·拉希德(Ali Rasheed)

我有一个用户表单类,其中包含元素,我想添加正则表达式验证器。

这是我尝试过的

$inputFilter->add([
            "name"                   => "password",
            "required"               => true,
            "filters"                => [
            ],
            "validators"             => [
                [
                    "name"           => new Regex(["pattern" => "/^[a-zA-Z0-9_]+$/"]),
                ],
                [
                    "name"           => "NotEmpty",
                ],
                [
                    "name"           => "StringLength",
                    "options"        => [
                        "min"        => 6,
                        "max"        => 64
                    ],
                ],
            ],
        ]);

但是它抛出

Zend \ Validator \ Regex类的对象无法转换为字符串

谁能帮我吗?

您可以为验证器添加输入过滤器规范,以下应该可以工作

$inputFilter->add([
    "name" => "password",
    "required" => true,
    "filters" => [
    ],
    "validators" => [
        // add validator(s) using input filter specs
        [
            "name" => "Regex",
            "options" => [
                "pattern" => "/^[a-zA-Z0-9_]+$/"
            ],
        ],
        [
            "name" => "NotEmpty",
        ],
        [
            "name" => "StringLength",
            "options" => [
                "min" => 6,
                "max" => 64
            ],
        ],
    ],
]);

如果您确实要实例化对象(使用new Regex(...)原始代码中as),则可以通过这种方式代替

$inputFilter->add([
    "name" => "password",
    "required" => true,
    "filters" => [
    ],
    "validators" => [
        // add a regex validator instance 
        new Regex(["pattern" => "/^[a-zA-Z0-9_]+$/"]),
        // add using input filter specs ...
        [
            "name" => "NotEmpty",
        ],
        [
            "name" => "StringLength",
            "options" => [
                "min" => 6,
                "max" => 64
            ],
        ],
    ],
]);

您可能还会发现此zf博客文章使用zend-inputfilter以及官方的zend-input-filter文档来验证数据很有

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Swift中实现用于密码验证的正则表达式?

正则表达式jQuery验证器中字符类的顺序混乱

如何在Powershell中[int]添加[string]正则表达式替换?

角反应形式模式验证器在正则表达式中添加$并破坏验证

如何在此正则表达式中添加韩文?

如何在此电子邮件验证正则表达式中添加对+(加号)的支持?

如何在JS中添加表情符号正则表达式验证?

如何启用在正则表达式中的密码验证中添加特殊字符

如何在vscode中的正则表达式输出更改中添加“退格字符”?

如何在javascript正则表达式中传递json数据?并依次验证密码

如何在谷歌表单正则表达式中验证身份证号码格式

如何在javascript中制定密码正则表达式标准以进行验证

如何在密码验证中不使用特殊字符(不使用正则表达式)?

如何在工厂模式中使用ZF2正则表达式验证器

如何在Vim中向映射命令添加正则表达式?

如何在Java的正则表达式中添加可选的空白

如何在pretty-config.xml中验证正则表达式

如何在通过正则表达式添加的图像中添加图像尺寸

如何在正则表达式中验证BIGINT

如何在正则表达式中验证手机号码

如何在正则表达式验证(javascript)中创建可选字段?

如何在正则表达式中否定类的一部分?

Ionic 2:表单验证器(正则表达式)

如何在 Rails 模型验证中编写正则表达式?

如何在 JavaScript 验证中组合两个正则表达式

如何验证正则表达式

如何在python正则表达式中对日期匹配应用验证

如何在 C# 中的必填字段验证器中验证正则表达式条件中的字符串

如何在正则表达式中添加条件语句