[Ror-es] Duda con validaciones

Jatsu Argarate jargarate at codesyntax.com
Tue Sep 19 10:03:47 GMT 2006


Muchisimas gracias Luis y Rafa!
Era lo que buscaba.

Jatsu


Luis Villegas wrote:

> Buenas, yo lo he hecho así:
>
> En environment.rb he añadido:
>
>
> ActiveRecord::Errors.default_error_messages = {
>       :inclusion => "no está incluido en la lista",
>       :exclusion => "está reservado",
>       :invalid => "es inválido",
>       :confirmation => "no coincide la confirmación",
>       :accepted  => "debe ser aceptado",
>       :empty => "no puede estar vacío",
>       :blank => "no puede estar vacío",
>       :too_long => "demasiado largo (máximo %d caracteres)",
>       :too_short => "demasiado corto (mínimo %d caracteres)",
>       :wrong_length => "longitud inválida (debería ser 
> de  %d caracteres)",
>       :taken => "ya existe ese nombre en la base de datos",
>       :not_a_number => "no es un número"
>     }
>
>
> Y en application_helper.rb he puesto:
>
> module ApplicationHelper
>       def error_messages_for(object_name, options = {})
>         options = options.symbolize_keys
>         object = instance_variable_get("@#{object_name}")
>         if object && !object.errors.empty?
>           content_tag("div",
>             content_tag(
>               options[:header_tag] || "h2",
>              "Imposible guardar #{object_name.to_s.gsub("_", " ")}"
>            ) +
>            content_tag("p", "Los siguientes campos han tenido 
> problemas:") +
>            content_tag("ul", object.errors.full_messages.collect { 
> |msg| content_tag("li", msg) }),
>            "id" => options[:id] || "errorExplanation", "class" => 
> options[:class] || "errorExplanation"
>          )
>        else
>          ""
>        end
>      end
> end
>
> Creo que eso es todo.
>
> Mira a ver si te va
>
>
>
> On 9/19/06, *Rafa G.* <rgo at aspgems.com <mailto:rgo at aspgems.com>> wrote:
>
>     Jatsu Argarate escribió:
>     >> Puedes hacer lo siguiente:
>     >>    validates_presence_of :name,
>     >>          :message => "Mensaje que quieres que salga"
>     >>
>     >> Esto tiene un "problema" y es que añade el nombre del campo
>     delante,
>     >> entonces si te molesta mírate el plugin cust-err-msg.
>     >>
>     >>
>     >>
>     >
>     > Lo tengo así, pero eso solo me traduce la segunda parte del
>     mensaje, el
>     > que me dice que campo está vacio.
>     > Yo lo que quiero es cambiar el todo mensaje que sale, el general
>     y el
>     > particular del campo (que este es como tu dices).
>     >
>     > Gracias otra vez.
>     >
>     > Jatsu
>     > _______________________________________________
>     > Ror-es mailing list
>     > Ror-es at lists.simplelogica.net <mailto:Ror-es at lists.simplelogica.net>
>     > http://lists.simplelogica.net/mailman/listinfo/ror-es
>     >
>     AR guarda los errores en un array.  Lo que puedes hacer es crearte un
>     helper como el error_messages_for y que imprima el array de errores
>     (objeto.*errors*.full_messages) como tu quieras.
>
>     Un link donde encontrarás más información:
>     http://api.rubyonrails.org/classes/ActiveRecord/*Errors*.html
>     <http://api.rubyonrails.org/classes/ActiveRecord/Errors.html>
>
>     --
>     Rafael Garcia Ortega
>
>     _______________________________________________
>     Ror-es mailing list
>     Ror-es at lists.simplelogica.net <mailto:Ror-es at lists.simplelogica.net>
>     http://lists.simplelogica.net/mailman/listinfo/ror-es
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Ror-es mailing list
>Ror-es at lists.simplelogica.net
>http://lists.simplelogica.net/mailman/listinfo/ror-es
>  
>



More information about the Ror-es mailing list