CakePHP字母数字允许使用非英语符号


CakePHP alphaNumeric allows non-english symbols

如果只允许验证英文字母表,该怎么办?

创建自己的规则?

var $validate = array(    
   'login' => array(        
      'rule' => '/^[a-z0-9]+$/i',          
      'message' => 'Only letters and integers'    
));

http://book.cakephp.org/1.3/view/1179/Custom-Validation-Rules

请参阅http://www.wiseguysonly.com/2009/11/27/a-workaround-for-the-cakephp-alphanumeric-issue/.这篇文章中的人遇到了一个不同但相关的问题,他们的解决方案与您需要的解决方案相同。

基本思想是只使用自定义正则表达式。更改此项:

'rule' => 'alphaNumeric'

对此:

'rule' => array('custom', '/^[a-z0-9]*$/i')

这也应该起作用:

'rule' => '/^[a-z0-9]*$/i'

关于自定义正则表达式验证的官方文档位于http://book.cakephp.org/view/1179/Custom-Validation-Rules#Custom-Regular-Expression-Validation-1180。

使用正则表达式作为规则。