Cargando

Ir a contenido

X

Ruby on rails - setear mensaje diferente para errores





  AUTOR PREGUNTA

Publicado 10 junio 2014 - 20:00
¿En rails cómo puedo setear un “:message” diferente para cada uno de los errores posibles?
  • 1 personas más tuvieron esta duda Yo también
  • Volver arriba


 

Publicado 10 junio 2014 - 22:13
Puedes probar con esto, no lo he probado pero quizá te funcione:

validates_numericality_of :price, :greater_than_or_equal_to => 0, :message => "var1" validates_numericality_of :price, :less_than => 1000000, :message => "var2"


 

Publicado 10 junio 2014 - 22:22
En el modelo.rb puedes colocar lo siguiente:

def validate
if self.price < 0
errors.add(:price, "custom message")
elsif
self.price > 1000000
errors.add(:price, "custom message")
end
end



Publicado 11 junio 2014 - 03:01
Sí estas usando Rails 3 puedes crear un validador custom, por ejemplo:

class BetterNumericalityValidator < ActiveModel::EachValidator
def validate_each(record,attribute,value)
if value < 0
record.errors[attribute] << "must be greater than or equal to 0"
elsif value >= 1000000
record.errors[attribute] << "must be less than 1000000")
end end end


   AUTOR PREGUNTA

Publicado 11 junio 2014 - 03:20
Gracias, por cierto bueno saber para la versión 3 de rails


X