Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente...

Preview:

Citation preview

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

}

}

Recommended