2012-03-13 90 views
0

有沒有辦法給出一個表格文件上傳inputfield爲文件名的正則表達式?Zend的表單輸入類型文件驗證的正則表達式

我試了一下這樣的:

$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,馬特

回答

1

你可以用一個回調驗證嘗試,並有正則表達式的回調方法檢查:


$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; 
} 
+0

謝謝!這工作4我 – frgtv10 2012-03-22 09:54:36