Estado do Form e comportamento Gostaria de saber como faço para o formulário se comportar de acordo com o evento. Ex. um for de cadastro de usuário, quando for um usuário novo tem o campo senha como obrigatório, já no modo de edição não mostra o campo e mostra um botão para gerar nova senha. Até que consegui verificar se está em modo de edição com a seguinte condição: ...
FV
Estado do Form e comportamento  
Fechado
Gostaria de saber como faço para o formulário se comportar de acordo com o evento.
Ex. um for de cadastro de usuário, quando for um usuário novo tem o campo senha como obrigatório, já no modo de edição não mostra o campo e mostra um botão para gerar nova senha.

Até que consegui verificar se está em modo de edição com a seguinte condição:

<?php if(isset($_GET["key"])) {} ?>


porém, mesmo colocando as validações dentro do if, na hora de salvar todas são verificadas.

Obrigado, fico no aguardo de uma ajuda.

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


GF

Olá Fagner! Esse framework tem componentes incríveis! A maneira tradicional, inclusive está no livro de referência do framework é:
<?php$cpf->addValidation('cpf', new TCPFValidator);$cnpj->addValidation('cnpj', new TCNPJValidator);?>

Isso seria adicionado no método construtor. Mas isso geraria um problema: pessoas físicas seriam obrigadas a digitar um CNPJ e pessoas jurídicas um CPF. A sugestão é colocar uma validação posterior no método onSave da sua classe TPage. A mesma validação ficaria assim:
<?php/**     * method onSave()     * Executed whenever the user clicks at the save button     */    function onSave()    {        try        {            // open a transaction with database 'exemplo'            TTransaction::open('exemplo');                        // get the form data into an active record Cliente            $object = $this->form->getData('Cliente');                        // Do CPF's validator            // 1 = pessoa física, por isso o CPF deve ser validado            if($object->tipo_pessoa_id == 1)             {                $validator = new TCPFValidator;                $validator->validate('CPF',$object->cpf);                }                        // Do CNPJ's validator            // 2 = pessoa jurídica, por isso o CPF deve ser validado            if($object->tipo_pessoa_id == 2)            {                $validator = new TCNPJValidator;                $validator->validate('CNPJ',$object->cnpj);                }                        // form validation            $this->form->validate();                        // stores the object            $object->store();                        // fill the form with the active record data            $this->form->setData($object);                        // close the transaction            TTransaction::close();                        // shows the success message            new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));            // reload the listing        }        catch (Exception $e) // in case of exception        {            // shows the exception error message            new TMessage('error', '<b>Error</b> ' . $e->getMessage());                        // undo all pending operations            TTransaction::rollback();        }    }?>


Valeu?