Forum: Rails-ES Validar un atributo virtual en un modelo

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
marze (Guest)
on 2008-10-09 00:28
(Received via mailing list)
¿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
Francesc E. (Guest)
on 2008-10-09 00:46
(Received via mailing list)
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
Luis felipe H. (Guest)
on 2008-10-09 02:25
(Received via mailing list)
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>
Juanjo Bazán (Guest)
on 2008-10-09 15:10
(Received via mailing list)
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.
marze (Guest)
on 2008-10-09 15:55
(Received via mailing list)
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
This topic is locked and can not be replied to.