CakePHP - Могу ли я $ проверить поле, чтобы оно не имело пробелов?(МОЖЕТ иметь подчеркивания и дефисы и т. д.) - PullRequest
1 голос
/ 07 апреля 2011

В модели CakePHP могу ли я $ проверить поле, чтобы оно не содержало пробелов или других специальных символов?

В частности, я хочу, чтобы они вводили имя для своей сетевой папки, чтобы в ней могли быть дефисы, подчеркивания и т. Д., Но не знаки вопроса, пробелы ... и т. Д.

1 Ответ

3 голосов
/ 07 апреля 2011

Используя это как ссылку: http://book.cakephp.org/view/1179/Custom-Validation-Rules

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

Вы можете установить ваше правило на /^[a-z0-9_\-\.]+$/i (регулярное выражение), вам просто нужно добавить дополнительные символы, которые вы хотите.

Не уверен, что вы произносите регулярные выражения, но в основном это говорит о том, что вся строка ^...$ должна содержать только буквы, цифры, символы подчеркивания, дефисы (экранированные), точки (экранирование возможно не нужно, но может соответствовать любому символу без него). /i делает это без учета регистра. + означает, что вам нужен один или несколько из этих символов, чтобы быть действительными.

(Не проверено, но это должно быть достаточно просто.)

...