我正在使用Symfony 1.4,并且对表单验证有点困惑。我有一个验证,如下所示:symfony表单验证与正则表达式使用正则表达式验证之前
$this->setValidator('mobile_number', new sfValidatorAnd(array(
new sfValidatorString(array('max_length' => 13)),
new sfValidatorRegex(array('pattern' => '/^07\d{9}$/'),
array('invalid' => 'Invalid mobile number.')),
)
));
这是一个简单的正则表达式匹配英国手机号码。
但是我的问题是,如果有人提交了这样一个字符串:“07 90 44 65 48 1”,则正则表达式会失败,但是如果字符串被清除以便首先删除空格,则它们会给出一个有效数字。
我的问题是,我不知道在symfony表单框架内的什么地方我会做到这一点。
我需要从用户输入中除去所有数字,然后使用我的mobile_number验证器。
任何想法将不胜感激。谢谢。
是的我需要在验证之前的清洗步骤,清洗的实际正则表达式不是问题,但试图结合清洗和验证会变得更加棘手! – Del 2010-09-21 12:14:33