Zend framework Zend表单输入类型文件验证程序正则表达式

Zend framework Zend表单输入类型文件验证程序正则表达式,zend-framework,zend-form,zend-validate,Zend Framework,Zend Form,Zend Validate,有没有办法给表单fileupload inputfield一个regexp作为文件名 我是这样试的: $image1 = $form1->addElement('file', 'image1', array( 'validators' => array( array('Count', false, '1' ),

有没有办法给表单fileupload inputfield一个regexp作为文件名

我是这样试的:

$image1 = $form1->addElement('file', 'image1', array(
                               'validators' => array(
                                    array('Count', false, '1' ),
                                    array('Size', false, '10MB'),
                                    array('Extension', false, 'jpg'),
                                    array('regex', false, '/^[a-z]\.jpg$/'),
                                ),
                                'required'   => false,
                                'label' => 'Image1(jpg/tif)'
            ));
但它不起作用

谁能给我一个提示吗


TIA,Matt

您可以尝试使用回调验证程序,并在回调方法中检查regexp:


$form1->getElement('file')->addValidator(new Zend_Validator_Callback('checkFilename'));

...

public function checkFilename($file = null, $formData = null) {
    $filename = $file->getValue();
    if (preg_match(/^[a-z]\.jpg$/, $filename)) {
        return true;
    }
    return false;
}