controlos de validação. 1 verificar se o valor inserido num controlo está minimamente coerente...

12
Controlos de Validação

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

Controlos de Validação

Page 2: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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.

Page 3: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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

Page 4: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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

Page 5: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

5

Controlos de Validação

Page 6: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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

Page 7: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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

Page 8: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

8

Controlos de Validação

RequiredFieldValidatorInitialValue

CompareValidatorValueToCompare or ControlToCompareTypeOperator

RangeValidatorMinimumValueMaximumValueType

Page 9: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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 >

Page 10: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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>

Page 11: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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"/>

Page 12: Controlos de Validação. 1 Verificar se o valor inserido num controlo está minimamente coerente com a informação pretendida Bloquear o processamento da

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

}

}