Используя это как ссылку: 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
делает это без учета регистра. +
означает, что вам нужен один или несколько из этих символов, чтобы быть действительными.
(Не проверено, но это должно быть достаточно просто.)