Rails 3 validates_format_of не работает для простого регулярного выражения - PullRequest
0 голосов
/ 08 января 2011

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

Модель:

validates_format_of :start,
  with:    /\A[0-9]{2}\/[0-9]{2}\/[0-9]{4}\z/,
  message: "Invalid date format"

Утверждение:

Event.new(start: "12/10/2010").valid?.should eq(true)

Это утверждение не выполняется, поскольку valid? возвращает false.

Чего мне не хватает?

1 Ответ

3 голосов
/ 10 января 2011

Регулярное выражение не выполняется, поскольку start относится к типу Date, а когда объект создается строкой, ActiveRecord автоматически преобразует его в Date.К тому времени, когда валидатор получает доступ к нему, он больше не является строкой, поэтому совпадений нет.

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