Os controles de validação testam a entrada do usuário, definem estados de erro e geram mensagens de erro. Eles não alteram o fluxo de processamento da página, por exemplo, não ignoram o código quando um erro de entrada do usuário é detectado. Em vez disso, você testará o estado do controle no código antes de executar a lógica específica do seu aplicativo. Se um erro for detectado, seu próprio código não será executado; a página continuará sendo processada e será retornada ao usuário com uma mensagem de erro.
Observação de segurança: por padrão, as páginas da Web ASP.NET verificam automaticamente se um usuário mal-intencionado tenta enviar scripts ou elementos HTML para seu aplicativo.
Você pode testar o estado geral de toda a página e testar o estado de controles individuais. Normalmente, você faz isso no manipulador de eventos criado para a página.
1. Teste o status de erro comum
No seu código, teste a propriedade IsValid da página. Esta propriedade acumulará o valor da propriedade IsValid de todos os controles de validação da página (usando AND lógico). Se algum controle de validação for definido como inválido, a propriedade da página retornará falso.
Descrição: As informações de autenticação não estão disponíveis durante a fase de inicialização ou carregamento da página. No entanto, você pode chamar manualmente o método Validate durante Page_Load e testar a propriedade IsValid da página.
O exemplo de código a seguir demonstra um manipulador de eventos para um botão. Este código testa a propriedade IsValid da página. Observe que nenhuma outra cláusula é necessária aqui porque a página retornará automaticamente ao navegador e o controle de validação exibirá sua própria mensagem de erro.
void Button1_Click (remetente do objeto, System.EventArgs e)
{
if(É válido)
{
// Execute atualizações de banco de dados ou outra lógica aqui.
}
}
2. Teste o status de erro de controles individuais
Trabalhe na coleção Validators da página, que contém referências a todos os controles de validação. Você pode então verificar a propriedade IsValid de cada controle de validação.
Nota: Se desejar realizar esta verificação durante Page_Load, você deve primeiro chamar o método Validate manualmente.
O exemplo de código a seguir demonstra como obter o estado de um único controle de validação.
se (este.IsPostBack)
{
this.Validate();
if (!this.IsValid)
{
string mensagem = "";
//Percorre todos os controles de validação para ver quais
// gerou os erros.
foreach (IValidator aValidator neste.Validators)
{
if (!aValidator.IsValid)
{
mensagem += "<br />" + aValidator.ErrorMessage;
}
}
Etiqueta1.Text = mensagem;
}
}
Este artigo vem do blog CSDN. Indique a fonte ao reimprimir: http://blog.csdn.net/dodream/archive/2009/12/17/5024643.aspx.
-