Rails генерирует FIELDNAME_before_type_cast
в модели для каждого поля. Он сохраняет значение из формы в виде строки до того, как его преобразуют (приводят) в этом случае в число (например, это может быть дата). Это приведение происходит до сохранения, но после проверки.
Таким образом, когда проверка выполняется до того, как выполняется приведение, она должна использовать значение «перед преобразованием типа», чтобы получить это значение. Поскольку это не сгенерировано для вашего атрибута, произойдет сбой.