Categorias

ExtJS 3.0 – Formulário com ComboBox e mensagens de validação

Este artigo tem a intenção de mostrar um formulário feito com ExtJS com as seguintes características:

  • Possui um ComboBox que busca seus valores em uma página PHP e possui autocomplete dos valores possíveis.
  • Envia os dados por AJAX.
  • Apresenta para cada campo, mensagens sobre a validação server-side dos dados enviados.

A motivação em escrever este pequeno artigo está no fato de que eu enfrentei dificuldades para conseguir compor um formulário com essas características, embora seja algo simples. Por isso, quero compartilhar esse conhecimento adquirido com muitas horas de estudo e pesquisa, para que outros programadores não sofram tanto quanto eu.

A didática deste artigo será a seguinte:

Vou apresentar o código de cada arquivo com comentários sobre cada parte relevante.

Quero também ressaltar que os arquivos PHP contém código apenas para fornecer os dados necessários para este artigo, portanto, tem validade didática também.

O primeiro arquivo é dados_login.php, que nada mais faz do que fornecer uma saída JSON com os valores que irão aparecer no ComboBox.


Em seguida, temos o arquivo do formulário propriamente dito: login.php. Este arquivo contém as inclusões das bibliotecas e CSS do Ext, bem como o código do formulário (preferi colocá-lo dentro do arquivo principal, ao invés de fazer um arquivo separado).



	
	
	Formulário de login
	
	
	
	
	
	
	
	//Início do nosso script
	


	

Por fim, o arquivo logar.php é que faz a validação dos dados e informa se houve sucesso ou falha, neste caso informando os campos e os erros.

com o campo id, o mesmo informado no valor hiddenName, ou 
não será exibida a mensagem de erro para o ComboBox if($sistema != $sis){ $errors[['id']] = 'sistema não confere'; $result = false; }else{ $result = true; } if($result){ $o = array("success"=>true); }else{ $o = array('success'=>false,'errors'=>$errors); } //Retorno dos dados à página principal header("Content-Type: application/json"); echo json_encode($o); ?>

O funcionamento deste código é o seguinte:

O usuário pode digitar o nome do sistema desejado (verifique o autocomplete do ComboBox) ou selecioná-lo na lista apresentada, informar um nome de usuário e uma senha. Se os dados conferem com os dados válidos, é exibida uma mensagem de sucesso, senão, são exibidas mensagens de erro abaixo dos campos com problemas.

Espero que este pequeno artigo ajude àqueles que desejam trabalhar com ExtJS.

Um especial agradecimento à comunidade brasileira dos utilizadores do ExtJS e ao siteSaki’s Ext Examples.