Validar un atributo virtual en un modelo


#1

¿Cómo se hace esto?

con un before_save ?

esto puede que no tenga ningún sentido…

class Message < ActiveRecord::Base
attr :question

before_save :validate

def validate
validate.errors.add(:question, ‘responde a la pregunta’) unless
question.include? ‘6’
end
end


#2

On Wed, Oct 8, 2008 at 10:26 PM, marze removed_email_address@domain.invalid wrote:

attr :question

Tambien puedes utilizar las validaciones normales.

class Post < ActiveRecord::Base
  attr :title
  validates_presence_of :title
end

#3

También puede hacer algo como:

class Message < ActiveRecord::Base
attr :question

validate :my_custom_validation

private
def my_custom_validation
validate.errors.add(:question, ‘responde a la pregunta’) unless
question.include? ‘6’
end
end

2008/10/8 marze removed_email_address@domain.invalid


#4

On Wed, Oct 8, 2008 at 10:26 PM, marze removed_email_address@domain.invalid wrote:

def validate
validate.errors.add(:question, ‘responde a la pregunta’) unless
question.include? ‘6’
end
end

Si lo estas usando para un campo de control o un checkbox obligatorio o
algo
así, echa un ojo a validates_acceptance_of.
Igual tuneandolo un poco con los parámetros accept/on/if, te vale.


#5

en realidad estoy intentando hacer un captcha guarro del tipo

2+2= ?

El 09/10/2008, a las 11:39, Juanjo
Bazán escribió:

Si lo estas usando para un campo de control o un checkbox