Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

33 lines
963 B

class CaseLogValidator < ActiveModel::Validator
def validate_tenant_age(record)
if !record.tenant_age?
record.errors.add :base, "Tenant age can't be blank"
elsif record.tenant_age < 0
record.errors.add :base, "Age needs to be above 0"
elsif record.tenant_age > 120
record.errors.add :base, "Age needs to be below 120"
end
end
def validate(record)
question_to_validate = options[:previous_page]
if question_to_validate == "tenant_code"
if !record.tenant_code?
record.errors.add :base, "Tenant code can't be blank"
end
elsif question_to_validate == "tenant_age"
validate_tenant_age(record)
end
end
end
class CaseLog < ApplicationRecord
validate :instance_validations
attr_accessor :custom_validator_options
enum status: { "in progress" => 0, "submitted" => 1 }
def instance_validations
validates_with CaseLogValidator, (custom_validator_options || {})
end
end