app/validators/contact_validator.rb
# models/contact_validator.rb:
# Validates contact form submissions.
#
# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
# Email: hello@mysociety.org; WWW: http://www.mysociety.org/
class ContactValidator
include ActiveModel::Validations
attr_accessor :name, :email, :subject, :message, :comment
validates_presence_of :name, message: N_("Please enter your name")
validates_presence_of :email, message: N_("Please enter your email address")
validates_presence_of :subject, message: N_("Please enter a subject")
validates_presence_of :message, message: N_("Please enter the message you want to send")
validate :email_format
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
private
def email_format
unless MySociety::Validate.is_valid_email(email)
errors.add(:email, _("Email doesn't look like a valid address"))
end
end
end