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