Blabos, o que você está imaginando para validar ? Estilo old-school com um encadeamento de if ? Dispatch table ? NDA ?
Abraços, Solli Honorio Em 3 de setembro de 2013 16:35, Blabos de Blebe <[email protected]> escreveu: > Em alguns casos, complexidade é um pouco ponto de vista. > > Acho que entendi a abordagem do mantovani, mas pro meu caso específico, > acho que é também o overhead, já que eu só valido 4 campos em uma situação > eventual. Estou cogitando nem usar o Data::Manager. > > Se fosse um cazilhao de campos sendo validados constantemente, acho que > valeira a pena. > > Mantovani, cuidado pra não ficar aparafusando pregos, certo!? > > []'s > > > 2013/9/3 Solli Honorio <[email protected]> > >> Sério mesmo Mantovani que vc acha que um sistema de fila é a solução para >> eu validar se todos os campos de um formulário estão dentro do aguardado >> para trabalhar no banco de dados ? >> >> Mantovani, só posso dizer que estou orgulhoso de você... vejo que você >> terá um excelente futuro na industria de tecnologia (coisa que eu não >> tive), pois este é bem o comportamento dos vendedores de TI. Você está >> agregando complexidade numa lugar que estou tentando agregar simplicidade >> :D !!! >> >> Abraços, >> >> Solli Honorio >> >> >> >> Em 3 de setembro de 2013 14:58, Daniel de Oliveira Mantovani < >> [email protected]> escreveu: >> >> 2013/9/3 Solli Honorio <[email protected]>: >>> > 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ê. >>> >>> " o que eu estava querendo fazer (passar uma pilha de mensagem e >>> receber de acordo com o contexto)" >>> >>> Shonorio, repetindo o AMQP se encaixa perfeitamente. Eu sugiro que >>> você leia o link que eu te enviei. Se um serviço na sua máquina vai te >>> poupar centenas de linhas de código, talvez nessa situação, nesse >>> contexto obscuro no qual não foi definido pelo interlocutor seja uma >>> boa. >>> >>> Se você acha que isso é demais para você, eu sinto muito que alguém >>> com pelo menos 15/20 anos de experiência ainda não saiba formular uma >>> pergunta. Perguntas genéricas, respostas genéricas. E ainda acho >>> extremamente desnecessário o seu ataque gratuito, mas se você ainda >>> não percebeu isso afasta as pessoas da lista. >>> >>> > >>> > 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 <[email protected]> >>> >> >>> >> >>> >> 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 <[email protected]> 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: [email protected] >>> >> 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: [email protected] >>> >> 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: [email protected] >>> > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> > =end disclaimer >>> > >>> >>> >>> >>> -- >>> >>> -dom >>> >>> -- >>> >>> Daniel de Oliveira Mantovani >>> Business Analytic Specialist >>> Perl Evangelist /Astrophysics hobbyist. >>> +55 11 9 8538-9897 >>> XOXO >>> =begin disclaimer >>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> SaoPaulo-pm mailing list: [email protected] >>> 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: [email protected] >> 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: [email protected] > 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: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
