Но, по-видимому, вы хотите, чтобы проверки выполнялись безоговорочно, поэтому ...
validate :date_format
DATES_TO_VALIDATE = ['Transaction', 'Date of birth', 'Other date']
def date_format
DATES_TO_VALIDATE.each do |key|
unless value(key).split('/').last.length == 4
errors.add(key, 'date format invalid')
end
end
end
Это может быть извлечено до each_validator
согласно ответу Марека Липки с пользовательской константой DATES_TO_VALIDATE
для каждогомодель и доступ к нему в валидаторе как model.class::DATES_TO_VALIDATE