Працюючи над проектом Rails, який вимагає від мене перевірки числа (що представляє день місяця) як 1 або 15. Я розмістив таке підтвердження у верхній частині своєї моделі:
validates :deposit_date, presence: true, format: { with: /A1(5)?z/ }
Регулярний вираз працює за призначенням, коли я використовую irb або онлайн-тестери, але не проходить перевірку в програмі Rails. Номер передається як рядок, тому я не думаю, що це проблема типу.
Оновлення: Дякуємо за всі відповідні відповіді так швидко. Мені вдалося відстежити проблему ... дані в БД вже були недійсні, що спричинило окреме збереження! заклик до невдачі;)
Відповіді:
0 для відповіді № 1Спробуйте зняти захоплення 5.
{ with: /A15?z/ }
0 для відповіді № 2
спробуйте це перевіряє: дата_депозиту, включення: {у: [1,15]}
0 для відповіді № 3
Використовуйте
validates :deposit_date, presence: true, format: { with: /A15?/ }
z
буде відповідати кінці рядка. У вашому випадку вам просто потрібно збігти день (початок рядка).