Zend_Filter和Zend_Validate用于带有撇号的名称

时间:2011-03-18 20:34:53

标签: php zend-framework

嘿伙计们,快速提问,只是试图通过Zend_Filter过滤用户的名字和姓氏,但有些用户显然可能是爱尔兰人或其他人。有没有人有过滤器并验证扩展名?感谢你的时间。

1 个答案:

答案 0 :(得分:2)

您必须使用类似

的方法实现Regex Validator
 \w+[']?\w+

作为正则表达式,取决于撇号的位置/数量

如果你没有使用Zend Form,这是一种方法。

         $data = $this->getRequest()->getPost();

            //Filters Apply first before Validators.
            $filterRules = array();  


            //Validators are applied after Filtering.
            $validatorRules = array( 
                   'first_name' => array( 
                          new Zend_Validate_Regex('/\w+[']?\w+/'), 
                         'presence' => 'required', 
                         'allowEmpty' => false, 
                         'messages' => 'Blah Blah ));

   $input = new Zend_Filter_Input($filterRules, $validatorRules, $data);

语法可能已关闭,正则表达式可能不符合规范,但我相信你可以找出一个正则表达式。