CakePHP alphaNumeric допускает неанглийские символы - PullRequest
2 голосов
/ 26 марта 2012

Что мне делать, если я хочу разрешить проверку только английского алфавита?

Ответы [ 3 ]

2 голосов
/ 26 марта 2012

Создать собственное правило?

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

1 голос
/ 26 марта 2012

Вместо этого используйте регулярное выражение .

1 голос
/ 26 марта 2012

См. 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...