Скобки портят проверку в рельсах - PullRequest
1 голос
/ 17 декабря 2010

У меня есть следующая проверка:

  validates_format_of :title, 
                  :with => /^[A-Z0-9 áàâäãçéèêëíìîïñóòôøöõúùûüý'-.]*$/i,  
                  :message => "must contain only letters, numbers, dashes, periods, and single quotes"   

Это работает большую часть времени, но когда заголовок содержит открытые и закрытые скобки, он проходит. Кто-нибудь знает, как обойти это, или, возможно, что-то не так с моим регулярным выражением проверки?

1 Ответ

3 голосов
/ 17 декабря 2010

В конце вашего регулярного выражения у вас есть '-.

Это означает, что вы хотите разрешить все символы между (и включая) апострофом и периодом, как вы делали в начале регулярного выражения с A-Z и 0-9.

Выражение /['-.]/ разрешает все эти символы: '()*+,-.

Внутри [] вам нужно экранировать символ -. Я думаю, что это будет работать так, как вы надеетесь:

/^[A-Z0-9 áàâäãçéèêëíìîïñóòôøöõúùûüý'\-.]*$/i

PS. Вам не нужно избегать. внутри квадратных скобок []

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