controlos de validação. 1 verificar se o valor inserido num controlo está minimamente coerente...
TRANSCRIPT
Controlos de Validação
2
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.
3
Validação no Cliente e no Servidor
ASP.NET cria processos de validação no cliente e no servidor Validação no Cliente
Dependente do browserResposta imediataReduz número de pedidos ao servidor
Validação no servidorRepete todas as validações efectuadas no clientePermite utilizar recursos externos (p.e. bases de dados)
Valid?
Valid?
User Enters Data
No
No
Yes
Yes
Error Message
Client
Server
Web ApplicationProcessed
4
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
5
Controlos de Validação
6
Controlos de Validação
1. Colocar o controlo na web form
2. Seleccionar o controlo que se pretende validar
3. Configurar as propriedades de validação
<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>
<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>
<asp:TextBox id="txtName" runat="server" /><asp:TextBox id="txtName" runat="server" />
1111
2222
3333
7
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
8
Controlos de Validação
RequiredFieldValidatorInitialValue
CompareValidatorValueToCompare or ControlToCompareTypeOperator
RangeValidatorMinimumValueMaximumValueType
9
Controlos de Validação
RegularExpressionValidatorPermite confrontar valores com expressões regularesO VS .NET já inclui algumas expressões regulares (p.e: emails)
<asp:RegularExpressionValidator …ControlToValidate=“Email"…ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" >*</asp:RegularExpressionValidator >
<asp:RegularExpressionValidator …ControlToValidate=“Email"…ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" >*</asp:RegularExpressionValidator >
10
Controlos de Validação
CustomValidator Permite validar no cliente, no servidor, ou em ambos
ClientValidationFunctionOnServerValidate
<asp:RequiredFieldValidator id="txtNameValidator" runat="server"
ControlToValidate="txtOddNum"
ClientValidationFunction="ClientValidateName"
OnServerValidate="ServerValidateName"
ErrorMessage="You must enter an odd number"
display="dynamic" Text="*">
</asp:RequiredFieldValidator>
<asp:RequiredFieldValidator id="txtNameValidator" runat="server"
ControlToValidate="txtOddNum"
ClientValidationFunction="ClientValidateName"
OnServerValidate="ServerValidateName"
ErrorMessage="You must enter an odd number"
display="dynamic" Text="*">
</asp:RequiredFieldValidator>
11
Controlos de ValidaçãoValidationSummary
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"/>
<asp:ValidationSummary id="valSummary"runat="server"HeaderText="These errors were found:"ShowSummary="True" DisplayMode="List"/>
12
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
}
}
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
}
}