2012-10-29 13 views

回答

6

我爲此使用了標準Alnum驗證器。

在形式的定義是這樣的:

$this->addElement('text', 'username', array(
    'label' => 'Uživatelské jméno', 
    'required' => true, 
    'validators' => array(
     array('Alnum'), 
     array('StringLength', false, array(2, 50)) 
) 
)); 

在你的符號像下面應該做的伎倆:

$this->addValidator('Alnum'); 

見可能的參數/其他標準valiators上Zend Framework pages

1

你正則表達式工作正常,驗證器也是如此。只要確認你已經在正確的地方使用它:

一個例子:

$login = new Zend_Form_Element_Text('uesrlogin'); 
    $login->setLabel('Enter username :') 
      ->setRequired(true) 
      ->addFilter('StripTags') 
      ->addValidator('Regex', false, array('/^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$/')); 

由於@Kamil指出,使用Zend_Validate_Alnum驗證將檢查字母數字是最好的選擇。它甚至爲您的項目增加了多語言支持。

當使用Zend_Validate_Alnum時,用戶在其瀏覽器中設置 的語言將用於設置允許的字符。這 意味着當您的用戶設置爲德語,然後他還可以輸入 字符,如ä,ö和ü另外的英文字母從 字符。

+0

感謝您的幫助。 –

+0

它適合你嗎? – janenz00

+0

什麼工作對我來說是: [A-ZA-Z] *它允許字母只 [A-ZA-Z0-9] *它允許字母和數值僅 [A-ZA-Z0-9 \ s] *它允許使用字母,數字和空格 –

相關問題