[SP-pm] Data::Manager, alguém utiliza este troço ?!

Blabos de Blebe blabos at gmail.com
Tue Sep 3 10:43:56 PDT 2013


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 <blabos em gmail.com>

> Mas se você estiver carente, adote o autor também :)
>
>
> 2013/9/3 Nuba Princigalli <nuba em 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.cron em 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 <shonorio em 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.oliveira em 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 <shonorio em 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 em 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 em 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 em 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 em 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 em pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>> --
>> Nuba R. Princigalli nuba em 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 em pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130903/57d59e66/attachment-0001.html>


More information about the SaoPaulo-pm mailing list