Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Validar TEntry Tenho o problema demonstrado na figura em anexo e queria validar a data do primeiro vencimento se o número de parcelar fosse maior que ZERO, mais ou menos assim; ...
JF
Validar TEntry  
Tenho o problema demonstrado na figura em anexo e queria validar a data do primeiro vencimento se o número de parcelar fosse maior que ZERO, mais ou menos assim;
  1. <?php
  2. $parcelas = new TEntry('parcelas');
  3. $dtvenc = new TDate('dtvenc');
  4. ...
  5. if ($parcelas 0// se mais de uma parcela
  6.         {
  7.             $dtvenc->addValidation('Dt. do 1º vencimento', new TRequiredValidator); 
  8.         }
  9. ?>


Se eu colocar if (!empty($parcelas)) funciona, mas o usuário (em caso de venda a vista) pode colocar 0 (zero) e ai a condição retorna TRUE e não valida. Sugestões?

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (2)


NR

João, você não consegue adicionar esse tipo de validação diretamente no construtor. Uma possível solução seria adicioná-las na função onSave:
https://www.adianti.com.br/forum/pt/view_661?adicionando-validacoes-em-formulari
AC

Fala João,

Não sei a quantidade de opções de parcelamento, mas se não forem muitas eu colocaria um combo para isso (até para o usuário não informar uma diferente do que é 'possível')... Iniciaria ele com 0 e o campo da data do primeiro vencimento desativado... se o usuário selecionasse uma quantidade de parcelas (qualquer uma menos o zero) ativaria o campo primeiro vencimento e já o preencheria com um valor mais apropriado (+30 dias da data atual, dia 05 do mês seguinte, ou outra). Não pode esquecer de que se o usuário selecionar zero novamente tem que desativar o campo da data e realizar a limpeza dele.

Daí no onSave tu trata isso como o Nataniel falou. Pensando como um usuário eu faria isso.

Abraço.