# How can i alter the validations error messages

**URL:** <https://www.ruby-forum.com/t/how-can-i-alter-the-validations-error-messages/64278>\
**Category:** Rails\
**Created:** [June 23, 2006, 6:43pm UTC](https://www.ruby-forum.com/t/how-can-i-alter-the-validations-error-messages/64278 "2006-06-23T18:43:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 23, 2006, 6:43pm UTC](https://www.ruby-forum.com/t/how-can-i-alter-the-validations-error-messages/64278/1 "2006-06-23T18:43:13Z")

</div>

hello  
my name is reynaldo

my question is the next.

i want change the text of the validations error messages generated by  
ruby when you don’t wrote properly the data in the form.

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 23, 2006, 7:16pm UTC](https://www.ruby-forum.com/t/how-can-i-alter-the-validations-error-messages/64278/2 "2006-06-23T19:16:56Z")

</div>

With the param :message

Example:

validates\_format\_of :image\_url,  
:with =\> %r(^http:.+.(gif|jpg|png)$}i  
:message =\> “must be a URL for a GIF, JPG, or PNG  
image”

* * *

Rodrigo D.

Iplan Networks  
removed\_email\_address@domain.invalid  
www.iplan.com.ar  
5031-6303

Datos Personales  
removed\_email\_address@domain.invalid  
www.rorra.com.ar  
15-5695-6027

-----Mensaje original-----  
De: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] En nombre de reynaldo  
Enviado el: Viernes, 23 de Junio de 2006 01:43 p.m.  
Para: removed\_email\_address@domain.invalid  
Asunto: [Rails] how can i alter the validations error messages.

hello  
my name is reynaldo

my question is the next.

i want change the text of the validations error messages generated by  
ruby when you don’t wrote properly the data in the form.

–  
Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

* * *

Rails mailing list  
removed\_email\_address@domain.invalid  
[http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 23, 2006, 8:21pm UTC](https://www.ruby-forum.com/t/how-can-i-alter-the-validations-error-messages/64278/3 "2006-06-23T20:21:20Z")

</div>

tankes my friend… that help so much…

como veo que eres de argentina. me permito hablarte en espaÃ±ol me es mas  
facil…

sabes tengo una aplicacion donde modifique el archivo \_form.rhtml. y  
necesito quitar el recuadro de errores que se muestra cuando no  
capturaste todos los datos.

y otra pregunta… se puede pasar algunos datos al archivo \_form.rhtml,  
por que como te dije anteriormente. lo modifique y en un campo en vez de  
mostrar una caja de texto, la cambie con una lista de las opciones… y  
para cuando es un registro nuevo no hay tanto problema. pero cuando es  
editar siempre se ubica en el primer elemento, cuando lo deberia de  
colocar en el elemento grabado.

me despido y gracias por tu primer consejo

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 23, 2006, 8:40pm UTC](https://www.ruby-forum.com/t/how-can-i-alter-the-validations-error-messages/64278/4 "2006-06-23T20:40:04Z")

</div>

reynaldo wrote:

> tankes my friend… that help so much…
> 
> como veo que eres de argentina. me permito hablarte en espaÃ±ol me es mas  
> facil…
> 
> sabes tengo una aplicacion donde modifique el archivo \_form.rhtml. y  
> necesito quitar el recuadro de errores que se muestra cuando no  
> capturaste todos los datos.
> 
> y otra pregunta… se puede pasar algunos datos al archivo \_form.rhtml,  
> por que como te dije anteriormente. lo modifique y en un campo en vez de  
> mostrar una caja de texto, la cambie con una lista de las opciones… y  
> para cuando es un registro nuevo no hay tanto problema. pero cuando es  
> editar siempre se ubica en el primer elemento, cuando lo deberia de  
> colocar en el elemento grabado.
> 
> me despido y gracias por tu primer consejo

Also check out the “custom-err-msg” plugin. Rails normally adds the  
field name as the first word in the error message. This plugin allows  
you to override that by Starting your error message with a “^” like  
this:

:message =\> “^Image location must be a URL for a GIF, JPG, or PNG”

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 23, 2006, 9:03pm UTC](https://www.ruby-forum.com/t/how-can-i-alter-the-validations-error-messages/64278/5 "2006-06-23T21:03:36Z")

</div>

Yes, you can:

\<%= render(:partial =\> “form”, :object =\> @im\_passing\_this\_data) %\>

Rodrigo D.

Iplan Networks Datos Personales  
removed\_email\_address@domain.invalid removed\_email\_address@domain.invalid  
www.iplan.com.ar www.rorra.com.ar  
5031-6303 15-5695-6027

-----Mensaje original-----  
De: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] En nombre de reynaldo  
Enviado el: Viernes, 23 de Junio de 2006 03:21 p.m.  
Para: removed\_email\_address@domain.invalid  
Asunto: [Rails] Re: RE: how can i alter the validations error messages.

tankes my friend… that help so much…

como veo que eres de argentina. me permito hablarte en español me es mas

facil…

sabes tengo una aplicacion donde modifique el archivo \_form.rhtml. y  
necesito quitar el recuadro de errores que se muestra cuando no  
capturaste todos los datos.

y otra pregunta… se puede pasar algunos datos al archivo \_form.rhtml,  
por que como te dije anteriormente. lo modifique y en un campo en vez de

mostrar una caja de texto, la cambie con una lista de las opciones… y

para cuando es un registro nuevo no hay tanto problema. pero cuando es  
editar siempre se ubica en el primer elemento, cuando lo deberia de  
colocar en el elemento grabado.

me despido y gracias por tu primer consejo

–  
Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

* * *

Rails mailing list  
removed\_email\_address@domain.invalid  
[http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 23, 2006, 9:00pm UTC](https://www.ruby-forum.com/t/how-can-i-alter-the-validations-error-messages/64278/6 "2006-06-23T21:00:26Z")

</div>

Let’s speak English, beacuse the list is international 😛

You can customize all of the errors messages, if you check the page  
source code (in your browser), you would realize that the errors are  
displayed within some div classes by default, so you can manage how they  
are displayed by css.

Also, you can display the errors yourself, they are stored in  
YourModelObject.errors and @flash[:notice], so you can make a helper  
function to display them…

In example:

The helper method

# print\_error(notice, object)

# notice: objeto @flash[:notice]

# object: objeto que tiene asociado cada uno de los errores.

# 

# Este metodo, arma un string con formato html, con cada uno de los

errores

# encontrados al hacer un submit del formulario correspondiente.

# 

def print\_error(notice, object)  
html = String.new

```
if notice then
  html += '<div class="errortitle">Error</div>' + "\n"
  html += '<div id="notice" class="error">'
  html += notice
  html += "</div>\n"

  html += '<script type="text/javascript">' + "\n"
  html += visual_effect(:Pulsate, "notice")
  html += "</script>\n"
end

if object and object.errors.count > 0 then
  if object.errors.count == 1 then
    html += '<div class="errortitle">Error</div>' + "\n"
  else
    html += '<div class="errortitle">Errores</div>' + "\n"
  end

  html += '<div id="notice" class="error">' + "\n"
  object.errors.each do |error|
      html += error[1] + "<br>\n"
  end
  html += "</div>\n"

  html += '<script type="text/javascript">' + "\n"
  html += visual_effect(:Pulsate, "notice")
  html += "</script>\n"
end
html

```

end

the controller:

#= Controlador de cuentas

# 

# Es el encargado de controlar la registracion de los nuevos usuarios,

# del login y del logout de los usuarios.

class AccountController \< ApplicationController

# Se solicitan datos obligatorios al usuario (email y password) para

su registracion.  
def registration  
protect

```
@user = User.new(params[:user])

if request.post?
  #Verificar el codigo de seguridad
  if params[:typed][:code] != session[:noisy_image].code
    flash[:notice] = "El código de seguridad es inválido"
  else
    #El username es su email
    @user.username = @user.email
    #Estado suspendido por defecto
    @user.status = "S"
    #Guardar el usuario
    if @user.save then
      session[:usuario] = @user
      registration_end
      render :action => "registration_end"
    end
  end
end

```

end

end

the view:

```
<%= form_tag :action => "registration" %>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr>
    <td class="transparent_space" colspan="3"></td>
  </tr>

  <tr>
    <td class="encabezado">
      <div class="titulo-formulario">Registrarse</div>
      <div class="Textos-02"><p class="subtitulo-encabezado">Escriba

```

la dirección de correo electrónico y contraseña que  
desea utilizar para iniciar sesión en iplan networks.

  
  

```
  <tr>
    <td class="transparent_space" colspan="3"></td>
  </tr>

  <tr>
    <th class="black_line"></th>
  </tr>

  <!-- INICIO Errores -->
  <tr>
    <td class="encabezado">
      <%= print_error(@flash[:notice], @user) %>
    </td>
  </tr>
  <tr>
    <td class="transparent_space"></td>
  </tr>
  <!-- FIN Errores -->

  <tr>
    <td>
      <table class="datos">

        <tr>
          <td class="transparent_space"></td>
        </tr>

        <tr>
          <th class="columna-principal"><div

```

class=“Textos-01-right”\>Dirección de correo  
electrónico:

  
  
\<%= text\_field ‘user’,  
‘email’, :size =\> 30, :class =\> “dis\_campos2” %\>  

```
        <tr>
          <td class="transparent_space"></td>
        </tr>

        <tr>
          <th class="columna-principal"><div

```

class=“Textos-01-right”\>Contraseña:

  
  
\<%= password\_field ‘user’,  
‘password’, :size =\> 30, :class =\> “dis\_campos2” %\>  
  
  
&nbsp;  
Seis caracteres como mínimo;  
sin espacios.  

```
        <tr>
          <th class="columna-principal"><div

```

class=“Textos-01-right”\>Vuelva a escribir la  
contraseña:

  
  
\<%= password\_field ‘user’,  
‘password\_confirmation’, :size =\> 30, :class =\> “dis\_campos2” %\>  

```
        <tr>
          <td class="transparent_space"></td>
        </tr>
      </table>
    </td>
  </tr>

  <tr>
    <td class="black_line" colspan="3"></td>
  </tr>

  <tr>
    <td class="transparent_space"></td>
  </tr>

  <tr>
    <td class="encabezado" colspan="3">
      <div class="Textos-02"><p class="subtitulo-encabezado">Escriba

```

los caracteres que se muestran en esta imagen.  
Esto garantiza que es una persona, y no un programa  
automático, quien crea la cuenta.

  
  

```
  <tr>
    <td>
      <table class="datos">
        <tr>
          <td class="transparent_space"></td>
        </tr>

        <tr>
          <th width="50%"><div

```

class=“Textos-01-right”\>Imagen:  
  
 ![](https://www.ruby-forum.com/account/code_image)

```
        <tr>
          <td colspan="2">&nbsp;</td>
          <td class="Textos-02">La imagen contiene 3

```

caracteres.

```
        <tr>
          <th class="columna-principal"><div

```

class=“Textos-01-right”\>Caracteres:  
  
\<%= text\_field ‘typed’,  
‘code’, :class =\> “dis\_campos2” %\>

```
        <tr>
          <td class="transparent_space"></td>
        </tr>

        <tr>
          <td colspan="2"></td>
          <td>
            <%= image_submit_tag "bot-aceptar.gif" %>
            <%= link_to image_tag("bot-cancelar.gif", "border" =>

```

0), :controller =\> “HomePage” %\>

```
        <tr>
          <td class="transparent_space"></td>
        </tr>

      </table>
    </td>
  </tr>

  <tr>
    <th class="black_line"></th>
  </tr>

</table>

```

\<%= end\_form\_tag %\>

\<%= render\_component(:controller =\> ‘homePage’, :action =\> ‘rightbar’)  
%\>

Rodrigo D.

Iplan Networks Datos Personales  
removed\_email\_address@domain.invalid removed\_email\_address@domain.invalid  
www.iplan.com.ar www.rorra.com.ar  
5031-6303 15-5695-6027

-----Mensaje original-----  
De: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] En nombre de Alex W.  
Enviado el: Viernes, 23 de Junio de 2006 03:40 p.m.  
Para: removed\_email\_address@domain.invalid

reynaldo wrote:

> tankes my friend… that help so much…
> 
> como veo que eres de argentina. me permito hablarte en español me es  
> mas  
> facil…
> 
> sabes tengo una aplicacion donde modifique el archivo \_form.rhtml. y  
> necesito quitar el recuadro de errores que se muestra cuando no  
> capturaste todos los datos.
> 
> y otra pregunta… se puede pasar algunos datos al archivo  
> \_form.rhtml,  
> por que como te dije anteriormente. lo modifique y en un campo en vez  
> de  
> mostrar una caja de texto, la cambie con una lista de las opciones…  
> y  
> para cuando es un registro nuevo no hay tanto problema. pero cuando es

> editar siempre se ubica en el primer elemento, cuando lo deberia de  
> colocar en el elemento grabado.
> 
> me despido y gracias por tu primer consejo

–  
Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

* * *

Rails mailing list  
removed\_email\_address@domain.invalid  
[http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)
