Controlos de Validação Controlos de Validação Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da página até que todos os valores sejam validos. 1 Validação no Cliente e no Servidor ASP.NET cria processos de validação no cliente e no servidor User Enters Validação no Cliente Data Error Dependente do browser Message Resposta imediata Reduz número de pedidos Valid? ao servidor No Validação no servidor Client Yes Repete todas as validações Server efectuadas no cliente Permite utilizar recursos Valid? No externos (p.e. bases de dados) Yes Web Application Processed 2 Controlos de Validação O ASP.NET fornece controlos de validação para: Comparar valores Comparar com uma fórmula pré-definida Verificar se um valor pertence a um intervalo Confrontar com expressões regulares Exigir preenchimento de informação Sumariar as validações inseridas numa página 3 Controlos de Validação 4 Controlos de Validação 1. 1 Colocar o controlo na web form 2 Seleccionar o controlo que se pretende validar 2. 3. 3 Configurar as propriedades de validação <asp:TextBox id="txtName" runat="server" /> <asp:Type_of_Validator id="Validator_id" runat="server" ControlToValidate="txtName" ErrorMessage="Message_for_error_summary" Display="static|dynamic|none" Text="Text_to_display_by_input_control"> </asp:Type_of_Validator> 5 Controlos de validação Pode haver vários controlos de validação afectos a um mesmo objecto Somente o RequiredFieldValidator verifica se a informação está preenchida 6 Controlos de Validação RequiredFieldValidator InitialValue CompareValidator ValueToCompare or ControlToCompare Type Operator RangeValidator MinimumValue MaximumValue Type 7 Controlos de Validação RegularExpressionValidator Permite confrontar valores com expressões regulares O VS .NET já inclui algumas expressões regulares (p.e: emails) <asp:RegularExpressionValidator … ControlToValidate=“Email"… ValidationExpression= "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" >*</asp:RegularExpressionValidator > 8 Controlos de Validação CustomValidator Permite validar no cliente, no servidor, ou em ambos ClientValidationFunction OnServerValidate <asp:RequiredFieldValidator id="txtNameValidator" runat="server" ControlToValidate="txtOddNum" ClientValidationFunction="ClientValidateName" OnServerValidate="ServerValidateName" ErrorMessage="You must enter an odd number" display="dynamic" Text="*"> </asp:RequiredFieldValidator> 9 Controlos de Validação ValidationSummary Apresenta as mensagens de erro de todos os controlos de validação da página <asp:ValidationSummary id="valSummary" runat="server" HeaderText="These errors were found:" ShowSummary="True" DisplayMode="List"/> 10 Propriedade Page.IsValid Verifica o estado de todos os controlos de validação inseridos na página private void cmdSubmit_Click(object s, System.EventArgs e) { if (Page.IsValid) { Message.Text = "Page is Valid!"; // Actualização de uma base de dados ou // outra tarefa sensivel } } 11