Запретить амперсанд в виде Rails - PullRequest
0 голосов
/ 07 мая 2010

НЕ в версии Rails 3

В модели контактов у меня есть атрибут company_name. По причинам, которые не имеют значения для этого вопроса, я хочу запретить символ амперсанда. У нас много клиентов с амперсандами в названии компании, и пользователи забывают, что им нельзя использовать этот символ.

Это не проблема очистки html. Меня не волнуют пробелы, CDATA или что-то еще. Записи в этом поле представляют собой простой текст, и я не хочу, чтобы амперсанд вводился в это поле каким-либо образом, в любой форме.

Полагаю, проверка модели - это путь. Я пробовал validates_exclusion_of. Я попытался validates_format_of. Нет успеха Я неискушен, когда дело доходит до регулярных выражений, поэтому я могу делать что-то очень неправильно. Но суть в том, что мне нужно запретить пользователю вводить этот символ "&" в поле company_name.

Спасибо за миллион.

Steve

1 Ответ

0 голосов
/ 07 мая 2010
validates_format_of :company_name, :with => /\A[^&]*\Z/

Но, вероятно, вы можете просто удалить амперсанды перед сохранением записи:

before_save :strip_ampersands

def strip_ampersands
  company_name.gsub!("&", "")
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...