我有代碼如何驗證給定的數據是字母或不符合zend_validator
$this->addValidator('Regex', false,
array('/^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$/'));
這是用來驗證數據是否是字母或沒有,但它不工作,
怎麼辦呢?
我有代碼如何驗證給定的數據是字母或不符合zend_validator
$this->addValidator('Regex', false,
array('/^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$/'));
這是用來驗證數據是否是字母或沒有,但它不工作,
怎麼辦呢?
我爲此使用了標準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
你正則表達式工作正常,驗證器也是如此。只要確認你已經在正確的地方使用它:
一個例子:
$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時,用戶在其瀏覽器中設置 的語言將用於設置允許的字符。這 意味着當您的用戶設置爲德語,然後他還可以輸入 字符,如ä,ö和ü另外的英文字母從 字符。
感謝您的幫助。 –
它適合你嗎? – janenz00
什麼工作對我來說是: [A-ZA-Z] *它允許字母只 [A-ZA-Z0-9] *它允許字母和數值僅 [A-ZA-Z0-9 \ s] *它允許使用字母,數字和空格 –