Solli, eu faria assim. Iniciaria o cadastro pelo campo de email, assim poderia 
antes validar o mesmo com regras em js, para só então permitir o input, depois 
do input, eu vareria o banco para verificar se o mesmo ja existe.

Se existe, não continuo com o cadatro, informando ao usuário. se nao eu continuo

Também setaria um cookie para impedir que o usuário fique dando diversos 
reloads na pagina, evitando assim novas buscas com o mesmo email.

Na minha opnião, é melhor ter um search a mais que um registro a mais. 

voce podem poderia utilizar HTMLRequest para deixar mais bonito esse imput 

Essa é a minha opnião de como tratar esse erro.

From: Solli Honorio 
Sent: Saturday, September 14, 2013 12:06 PM
To: saopaulo...@mail.pm.org 
Subject: [SP-pm] DBIx::Class

Pessoal 

Estou escrevendo um cadastro que tem o campo email com unique index. O meu 
primeiro impulso é fazer uma pesquisa no cadastro para verificar se o email já 
não existe, mas me dei conta que se eu tentar criar o registro e o email já 
existir, vou receber um erro informando isto.

O que vocês acham disto ? É feio jogar com o erro (mesmo tratando o erro de 
maneira correta) ? Ou é melhor deixar de viver perigosamente e fazer o search 
antes do create.

E porquê estou com está dúvida ? Não medi, mas teoricamente gravar e tratar o 
erro deve (ou deveria) ser mais rápido (pq eu faço "apenas uma operação de IO").

Abraços,

Solli Honorio


-- 
"o animal satisfeito dorme". - Guimarães Rosa 


--------------------------------------------------------------------------------
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

<<wlEmoticon-smile[1].png>>

=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a