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;
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?
- <?php
- $parcelas = new TEntry('parcelas');
- $dtvenc = new TDate('dtvenc');
- ...
- if ($parcelas > 0) // se mais de uma parcela
- {
- $dtvenc->addValidation('Dt. do 1º vencimento', new TRequiredValidator);
- }
- ?>
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?
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
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.