简体   繁体   English

CakePHP 3.0 - 正则表达式验证

[英]CakePHP 3.0 - Regular expression validation

I need to validate an input based on a regular expression. 我需要根据正则表达式验证输入。

 //Validator
 $validator
            ->notEmpty('sl_no')
            ->add('reg_no', 'validFormat',[
                    'rule' => '/^([ABCD]{2,2}[0-9]{4,4})$/i',
                    'message' => 'Please enter a valid serial number.'
            ]);

But I get the following error: 但是我收到以下错误:

Method /^([ABCD]{2,2}[0-9]{4,4})$/i does not exist. 方法/ ^([ABCD] {2,2} [0-9] {4,4})$ / i不存在。

Also, there is no mention of regular expressions in Cake 3.0 validation Documentation unlike Cake 2 Documentation . 此外,与Cake 2文档不同, Cake 3.0验证文档中没有提及正则表达式。

Has this been moved or modified? 这被移动或修改了吗?

Try this 尝试这个

 $validator
        ->notEmpty('sl_no')
        ->add('reg_no', 'validFormat',[
                'rule' => array('custom', '/^([ABCD]{2,2}[0-9]{4,4})$/i'),
                'message' => 'Please enter a valid serial number.'
        ]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM