Inserir um asterisco ao lado de campos obrigatórios

560 views
Skip to first unread message

Bruno Grasselli

unread,
Jan 19, 2010, 1:52:41 PM1/19/10
to rail...@googlegroups.com
Fala pessoal,

Precisava de uma ajuda de vocês.

Surgiu uma solicitação na aplicação que estou trabalhando que é colocar um asterisco do lado de todos os campos que são obrigatórios nos formulários. Igual muitos sites fazem.

Só que aí eu fiquei pensando. Como já está definido no model quais campos são obrigatórios através do validates_presence_of, eu conseguiria na hora de printar o campo na tela identificar se esse campo recebe validação no model e aí sim printar o asterísco? De forma dinâmica.

Alguém já fez algo do gênero?

Desde já agradeço pela ajuda.

Abraços,

--
Bruno Grasselli
Blog: http://brunograsselli.com.br
Twitter: http://twitter.com/grasselli

Rafa - www.cearaonrails.org

unread,
Jan 19, 2010, 1:56:36 PM1/19/10
to rail...@googlegroups.com
Eu uso algo assim, no application helper:

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
if html_tag =~
/<(input)[^>]+type=["'](button|radio|checkbox|hidden)/
html_tag
else
if instance.error_message.kind_of?(Array)
%(<span class="error">
#{instance.error_message.join(', ')}</span>*#{html_tag})
else
%(<span class="error">
#{instance.error_message}</span>*#{html_tag})
end
end
end

2010/1/19 Bruno Grasselli <bruno.g...@gmail.com>:

> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br"
> dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> rails-br+u...@googlegroups.com.
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/rails-br?hl=pt-BR.
>
>

Bruno Grasselli

unread,
Jan 19, 2010, 2:10:00 PM1/19/10
to rail...@googlegroups.com
Rafa,

Mas essa solução funciona só depois que o erro já foi lançado?

Porque eu precisava avisar que o campo é obrigatório antes do erro, logo na primeira vez que o cara entra no formulário.

Rafa - www.cearaonrails.org

unread,
Jan 19, 2010, 2:24:24 PM1/19/10
to rail...@googlegroups.com
uiai, coloca la do lado do formulário, na unha mesmo no html

2010/1/19 Bruno Grasselli <bruno.g...@gmail.com>:

Wilker

unread,
Jan 19, 2010, 2:27:51 PM1/19/10
to rail...@googlegroups.com
Experimente usar o Formtastic com ValidationReflation, resolve oque voce quer (eh so ter o ValidationReflaction instalado, que o Formtastic faz uso dele automaticamente) ;)
---
Wilker Lúcio
Gerente de Tecnologia
Caju Agência Digital
http://www.caju.nu
+55 81 87417674

Bruno Grasselli

unread,
Jan 19, 2010, 2:42:24 PM1/19/10
to rail...@googlegroups.com
Blz Wilker, valeu.

Na verdade um cara aqui do projeto tinha falado do formtastic. Mas é que eu imagino que pra por o formtastic pra funcionar agora teríamos que refazer os formulários, e não estamos com muito tempo disponível no projeto agora pra isso. Mas num momento mais tranquilo a gente espera poder implementar ele.

2010/1/19 Wilker <wilke...@gmail.com>

Rafa - www.cearaonrails.org

unread,
Jan 19, 2010, 2:47:15 PM1/19/10
to rail...@googlegroups.com
Se tiver no linux manda um sed =)

2010/1/19 Bruno Grasselli <bruno.g...@gmail.com>:

Marcio Aun Migueis

unread,
Jan 19, 2010, 2:48:28 PM1/19/10
to rail...@googlegroups.com
+1 pro Rafa . Unha.

2010/1/19 Bruno Grasselli <bruno.g...@gmail.com>

Bruno Grasselli

unread,
Jan 19, 2010, 2:51:24 PM1/19/10
to rail...@googlegroups.com
Eh, acho q vai acabar sendo na unha mesmo

2010/1/19 Marcio Aun Migueis <marc...@gmail.com>

battisti

unread,
Jan 19, 2010, 2:55:15 PM1/19/10
to rails-br
Rapaz eu to começando agora com o rails e este formtastic eh
formtastic mesmo! muito fera! valeu pela dica!

On Jan 19, 5:27 pm, Wilker <wilkerlu...@gmail.com> wrote:
> Experimente usar o Formtastic <http://github.com/justinfrench/formtastic/>com
> ValidationReflation <http://github.com/redinger/validation_reflection>,


> resolve oque voce quer (eh so ter o ValidationReflaction instalado, que o
> Formtastic faz uso dele automaticamente) ;)
> ---
> Wilker Lúcio
> Gerente de Tecnologia

> Caju Agência Digitalhttp://www.caju.nu
> +55 81 87417674
>
> 2010/1/19 Rafa -www.cearaonrails.org<rafas2el...@gmail.com>


>
> > uiai, coloca la do lado do formulário, na unha mesmo no html
>

> > 2010/1/19 Bruno Grasselli <bruno.grasse...@gmail.com>:


> > > Rafa,
>
> > > Mas essa solução funciona só depois que o erro já foi lançado?
>
> > > Porque eu precisava avisar que o campo é obrigatório antes do erro, logo
> > na
> > > primeira vez que o cara entra no formulário.
>

> > > 2010/1/19 Rafa -www.cearaonrails.org<rafas2el...@gmail.com>


>
> > >> Eu uso algo assim, no application helper:
>
> > >>  ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
> > >>                if html_tag =~
> > >> /<(input)[^>]+type=["'](button|radio|checkbox|hidden)/
> > >>                        html_tag
> > >>                else
> > >>                        if instance.error_message.kind_of?(Array)
> > >>                                %(<span class="error">
> > >> #{instance.error_message.join(', ')}</span>*#{html_tag})
> > >>                        else
> > >>                                %(<span class="error">
> > >> #{instance.error_message}</span>*#{html_tag})
> > >>                        end
> > >>                end
> > >>        end
>

> > >> 2010/1/19 Bruno Grasselli <bruno.grasse...@gmail.com>:

> > >> > rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>


> > .
> > >> > Para obter mais opções, visite esse grupo em
> > >> >http://groups.google.com/group/rails-br?hl=pt-BR.
>
> > >> --
> > >> Você está recebendo esta mensagem porque se inscreveu no grupo
> > "rails-br"
> > >> dos Grupos do Google.
> > >> Para postar neste grupo, envie um e-mail para rail...@googlegroups.com
> > .
> > >> Para cancelar a inscrição nesse grupo, envie um e-mail para

> > >> rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>


> > .
> > >> Para obter mais opções, visite esse grupo em
> > >>http://groups.google.com/group/rails-br?hl=pt-BR.
>
> > > --
> > > Bruno Grasselli
> > > Blog:http://brunograsselli.com.br
> > > Twitter:http://twitter.com/grasselli
>
> > > --
> > > Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br"
> > > dos Grupos do Google.
> > > Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
> > > Para cancelar a inscrição nesse grupo, envie um e-mail para

> > > rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>


> > .
> > > Para obter mais opções, visite esse grupo em
> > >http://groups.google.com/group/rails-br?hl=pt-BR.
>
> > --
> > Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br"
> > dos Grupos do Google.
> > Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
> > Para cancelar a inscrição nesse grupo, envie um e-mail para

> > rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>

Reply all
Reply to author
Forward
0 new messages