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