Как я могу сделать буквенно-цифровую проверку с помощью регулярного выражения в CakePHP? - PullRequest
0 голосов
/ 09 мая 2009

У меня есть форма регистрации пользователя, и я хочу, чтобы пользователь указывал только свое имя и фамилию (например, Дональга Дунсберри). Если пользователь не предоставит свое имя таким способом, ввод будет отклонен. Я думал, что что-то вроде этого будет работать для моей проверки пользователя регулярного выражения в CakePHP:

  'name'=>array('Name has to be comprised of letters.
                '=>array('rule'=>array('custom', '/[A-Za-z ]+/')
           )),

Ответы [ 3 ]

6 голосов
/ 09 мая 2009

Вы должны быть осторожны при проверке имен ... как насчет:

  • Дональд Макдональд <- прописная буква в середине слова </li>
  • Donalg Fooble-Whiffery <- через перенос </li>
  • Доналг Денсбнери-Макдональд-старший 3-й <- вы поняли </li>

Чтобы проверить имена в указанном вами формате:

/[A-Z][a-z]+ [A-Z][a-z]+/

Быть более снисходительным:

/([\w.-]+ )+[\w+.-]/
0 голосов
/ 06 июня 2013

Я использую приведенный ниже код для проверки полей с буквенно-цифровыми и пробелами.

'rule1' = array(
   'rule' => array('custom','/([\w.-]+ )+[\w+.-]/'),
   'required' => true,
   'message' => 'Required field.'
)

Я надеюсь помочь вам.

0 голосов
/ 09 мая 2009

Лично я не стал бы беспокоиться о проверке имени / фамилии. Вы можете только проверить их длину (для этого есть встроенное правило проверки) и убедитесь, что вы указали «allowEmpty» => true, если вы этого хотите.

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