Esse módulo parece ser o que eu estava procurando, para resolver meus problemas de validação.
Solli, a sua dúvida me valeu de dica. Obrigado 2013/9/3 Blabos de Blebe <bla...@gmail.com> > Mas se você estiver carente, adote o autor também :) > > > 2013/9/3 Nuba Princigalli <n...@fastmail.fm> > >> ** >> faz um fork E um release! se você curte o módulo e o autor tiver >> abandonado, você pode tentar adotá-lo, também -- o módulo, não o autor! ;) >> >> >> On Tue, Sep 3, 2013, at 01:02 PM, Tiago Peczenyj wrote: >> >> faz um fork. >> >> >> 2013/9/3 Renato Santos <renato.c...@gmail.com> >> >> >> Eu pessoalmente não gosto 100% do data-verifier. >> >> Ele tem dois 'bugs' que enchem o saco: >> >> https://github.com/gphat/data-verifier/issues/9 >> >> e o cara nunca responde. >> >> Falta uma flag para dizer se o valor '' é pra ser valido ou virar undef. >> >> em caso de ints, num, booleans, faz sentido considerar '' como sendo >> undef, porém, textos podem ser vazios! >> >> >> Sobre a questão das mensagens, também seria legal poder pegar o motivo do >> erro.. podia ser um die dentro do post_check e capturar isso. >> >> ai depois seria crair só outro Data::ManagerFoo que saiba tratar os >> Data::VerifierFoo >> >> >> >> 2013/9/3 Solli Honorio <shono...@gmail.com> >> >> >> Lucas, >> >> Obrigado pelo retorno. Ontem a noite estudei o código do Data::Manager e >> ví que realmente não rola fazer o que eu estava querendo fazer (passar uma >> pilha de mensagem e receber de acordo com o contexto) e ai estou >> encaminhando para a mesma solução que você. >> >> Como vc faz com o I18N ? >> >> O Renato Cron publicou um 'template' ( https://github.com/AwareTI/MyApp) de >> como eles estão utilizando o Data::Manager. Estudei o código e achei >> engenhoso, mas ainda quero manter um melhor controle do ResultSet porquê >> quero devolver uma estrutura mais complexa de informação. >> >> Abraços, >> >> Solli Honorio >> >> >> >> >> 2013/9/3 Lucas Oliveira <lucasmateus.olive...@gmail.com> >> >> >> Normalmente eu uso sempre com I18N mas da pra quebrar o galho assim >> >> <code> >> #!/usr/bin/env perl >> >> use common::sense; >> use Data::Manager; >> use Data::Verifier; >> >> my %msg_data= ( >> missing_name_last => 'Nao foi informado o campo name_last, seu idiota !' >> , >> ); >> >> sub messages { $msg_data{$_[0]} || $_[0] } >> >> my $dm = Data::Manager->new; >> my $dv = Data::Verifier->new( >> filters => [ qw(trim) ], >> profile => { >> name_first => { >> required => 1, >> type => 'Str', >> filters => [ qw(collapse) ] >> }, >> name_last => { >> required => 1, >> type => 'Str', >> filters => [ qw(collapse) ] >> }, >> age => { >> type => 'Int' >> }, >> sign => { >> required => 1, >> type => 'Str' >> } >> } >> ); >> >> $dm->set_verifier( name => $dv ); >> $dm->verify( name => { name_first => 'Solli' }); >> >> if (!$dm->success) { >> print &messages( $_->msgid ).$/ >> foreach (@{ $dm->messages->messages }); >> } >> </code> >> >> >> Em 02/09/2013, às 11:10, Solli Honorio <shono...@gmail.com> escreveu: >> >> >> Pessoal, >> >> Estou tentando configurar uma mensagem padronização no Data::Manager, mas >> não está funcionando. Alguém aqui já utilizou o Data::Manager para saber se >> é possível fazer isto que eu quero ? >> >> O código abaixo, estou criando uma mensagem e adicionando no >> Data::Manger, porquê eu imaginei que quando ocorrer o problema dentro do >> escopo e msgid, eu teria o texto padronizado, mas o que estou recebendo é >> mais uma pilha de mensagem, mesmo quando não existe o erro. >> >> <code> >> #!/usr/bin/env perl >> use common::sense; >> use Data::Manager; >> use Data::Verifier; >> use Data::Printer; >> >> my $msg = Message::Stack->new; >> $msg->add({ >> msgid => 'missing_name_last', >> level => 'error', >> scope => 'name1', >> subject => 'name_last', >> text => 'Não foi informado o campo name_last, seu idiota !'} ); >> >> my $dm = Data::Manager->new( { messages => $msg } ); >> my $dv = Data::Verifier->new( >> filters => [ qw(trim) ], >> profile => { >> name => { >> required => 1, >> type => 'Str', >> filters => [ qw(collapse) ] >> }, >> age => { >> type => 'Int' >> }, >> sign => { >> required => 1, >> type => 'Str' >> } >> } >> ); >> >> >> }; >> >> >> $dm->set_verifier('name1', $verifier); >> $dm->verify('name1', { name_last => 'Honorio', name_first => 'Solli' }); >> >> my $results = $dm->get_results('name1'); >> my $stack = $dm->messages_for_scope('name1'); >> >> say $results->success; >> >> say "Is invalid name_first ", $results->is_invalid('name_first'); >> say "Is invalid name_last ", $results->is_invalid('name_last'); # yes >> >> say "Is missing name_first ", $results->is_missing('name_first'); # no >> say "Is missing is_missing ", $results->is_missing('name_last'); # yes >> >> say "Missing count ", $results->missing_count; >> >> say "Count : ", $stack->count ; >> p $stack->get_message( 0 ); >> p $stack->get_message( 1 ); >> >> </code> >> >> >> -- >> "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 >> >> >> >> =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 >> >> >> >> >> >> -- >> "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 >> >> >> >> >> >> -- >> Saravá, >> Renato CRON >> http://www.renatocron.com/blog/ >> @renato_cron <http://twitter.com/#!/renato_cron> >> >> =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 >> >> >> >> >> >> -- >> Tiago B. Peczenyj >> Linux User #405772 >> >> http://about.me/peczenyj >> =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 >> >> >> -- >> Nuba R. Princigalli n...@pauleira.com http://pauleira.com @nprincigalli >> Discipline is not an end in itself, just a means to an end. - King Crimson >> >> >> =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 >> >> >
=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