require 'iban-tools'

class IbanValidator < ActiveModel::Validator
  def validate(record)
    if record.value.present?
      unless IBANTools::IBAN.valid?(record.value)
        record.errors.add :iban, record.errors.generate_message(:value, :invalid)
      end
    end
  end
end