Explicação passo a passo: Validando entrada de usuário em uma página de Web Forms

Este explicação passo a passo ilustra como usar controles de validação do ASP.NET para verificar a entrada do usuário em uma página da Web.Você irá trabalhar com alguns controles que realizam toda a verificação automaticamente, sem exigir nenhum código.Você também criará um validador personalizado com código que você escreverá, o qual ilustra como você pode adicionar sua própria lógica à estrutura de validação da página.Finalmente, você aprenderá como você pode validar a entrada do usuário condicionalmente, dependendo de opções que o usuário fizer em uma página.

Na explicação passo a passo, você criará uma página de um site que permite a visitantes solicitar uma reserva.Devido ao objetivo da explicação passo a passo ser ilustrar a validação, a natureza da reserva não é importante para este explicação (por exemplo, poderia ser para um restaurante, uma sala de reunião no centro comunitário ou alguma outra coisa) e a página na verdade não processa a reserva.

A página que você criar solicitará que o usuário digite um endereço de email, o número de pessoas para reservar e a data preferencial.A página também permite ao usuário solicitar uma confirmação por telefone da reserva.O padrão para essa página, se implementado, deve ser confirmação via email.

Observação de segurança:

Por padrão, uma página de Web Forms valida automaticamente que usuários mal-intencionados não estão tentando enviar scripts para o aplicativo.Para obter mais informações, consulte Visão Geral de Scripts Maliciosos.

Durante este explicação passo a passo, você aprenderá como:

  • Usar controles de validação para verificar a entrada do usuário em um página da Web do ASP.NET.

  • Formatar a exibição de mensagens de erro de validação.

  • Criar validação personalizada, escrevendo código.

Pré-requisitos

A fim de concluir este explicação passo a passo, será necessário:

  • O Visual Studio e o .NET Framework.

Criando o Site da Web e a Página

Na primeira parte da explicação passo a passo, você irá criar um site e uma página onde você pode trabalhar com estilos.

Se você já tiver Criado um site da Web em Visual Studio (por exemplo, por trabalhar com o tópico Demonstra Passo a passo: Criando uma página da Web básica no Visual Web Developer , você pode usar esse site da Web e vá para " Adicionar controles " Posteriormente neste exame Através.Caso contrário, crie um novo site e página usando as etapas a seguir.

Para criar um site do sistema de arquivos

  1. Abra Visual Studio.

  2. Sobre o File Menu, clique em NovoSite.

    O Novo Site da Web caixa de diálogo é exibida.

  3. Na Linguagem lista, clique na programação Idioma você preferir trabalhar no.

    A linguagem de programação que você escolher poderá ser o padrão do site, mas você pode definir as linguagens de programação para cada página individualmente.

  4. Em Modelos Visual Studio instaladoClique em Web Site ASP.NET.

  5. Na Local Digite o nome da pasta onde você deseja manter as páginas do seu site da Web.

    Por exemplo, digite o nome da pasta C:\WebSites.

  6. Clique em OK.

    O Visual Studio cria a pasta e uma nova página chamada Default.aspx.

Adicionar Controles

Você usará apenas alguns controles para requisitar do usuário as informações necessárias para a reserva.

Para adicionar controles e texto

  1. Alternar para modo Design.

  2. tipo Um título de página, como Enviar uma reserva.

  3. From Padrão grupo da caixa de ferramentas, arraste os controles a seguir para a página e definir suas propriedades, conforme indicado.

    1. Controle

    1. Propriedades

    TextBox

    ID: TextEmail

    TextBox

    ID: TextNumberInParty

    TextBox

    ID: TextPreferredDate

    Button

    ID: ButtonSubmit

    Texto: Enviar solicitação

    ValidationGroup: AllValidators

    Label

    ID: LabelMessage

    Texto (em branco)

    Observação:

    O layout exato da página não é importante.

  4. Digite texto na frente das caixas de texto como legendas.

  5. Clique duas vezes o Enviar solicitação Botão para criar um manipulador para sua [E:Sistema.Web.UI.WebControles.Botão.Click] Evento e adicione o código a seguir realçado:

    Protegido sub buttonSubmit_Click(ByVal Sender As Object, _ ByVal e As System.EventArgs)
      Se em seguida Page.IsVálido    labelMessage.Texto = "a reserva foi processada."  End se
    End Sub
    
    Protegido {buttonSubmit_Click(object sender, EventArgs e) void
        Se (Page.IsValid)  {    labelMessage.Text = "a reserva foi processada.";  }
    }
    

    O manipulador do botão simplesmente exibe uma mensagem; ele não realiza nenhum processamento real.Entretanto, a exibição da mensagem permitirá que você teste o efeito da validação posteriormente nesta explicação passo a passo.

  6. Alternar para modo de design, Duplo - clique em uma área em branco na página para criar um Page_Load manipulador e adicione o código a seguir realçado:

    Protegido sub Page_Carregar(ByVal Sender As Object, _ ByVal e As EventArgs)
     labelMessage.Text = " "
    End Sub
    
    Protegido void {Page_Load(object sender, EventArgs e)
      labelMessage.Text = " ";
    }
    

    Este código limpa a mensagem exibida pela página quando todas as validação passam.O código ajuda com os testes posteriormente na explicação passo a passo.

Adicionar validação básica

Para seu sistema de reservas imaginário, você deseja impor as seguintes verificações de validação:

  • O email Endereço for necessária, e ela deve ser formatada corretamente; Por exemplo, alguembr@example.com.(Não é geralmente prático Marcar se um email é de uma pessoa real endereço; No entanto, você pode verificar que o endereço CON Formulários ao padrão adequado para endereços email.)

  • Também é necessário o número de pessoas e este deve ser numérico.

  • A data preferido é necessária.

Você pode adicionar todas essas validações usando controles validator, que realizam todas as verificações para você e exibem erros automaticamente.

Observação:

Posteriormente na explicação passo a passo você adicionará outra verificação para certificar-se de que os usuários insiram uma data válida.

Para adicionar validação básica

  1. Alternar para modo Design.A partir de Validação grupo da caixa de ferramentas, arraste um RequiredFieldValidator Controle e Soltar-la ao lado para o textEmail caixa de texto.

  2. Defina as propriedades de seguir o RequiredFieldValidator controle:

    Propriedade

    Configuração

    ControlToValidate

    textEmail

    Vincula o controle validador à caixa de texto cujo conteúdo você deseja validar.

    Display

    Dynamic

    Especifica que o controle é apresentado (e ocupa espaço na página) somente se necessário para exibir um erro.

    ErrorMessage

    Endereço de email é necessário.

    Exibe texto em um erro resumido cuja explicação você irá configurar mais tarde na explicação passo a passo.

    Text

    *

    Uma estrela é uma maneira convencional de indicar que um campo é necessário.Esse texto será exibido somente se houver um erro.

    ValidationGroup

    AllValidators

    Como ocorre com botões de opção, você pode agrupar validadores em grupos que são tratados como uma unidade.Você aprenderá mais sobre agrupamento de validadores posteriormente na explicação passo a passo.

    O que você fez foi adicionar um teste para certificar-se que o usuário insera um endereço de email.O controle validador executa todas a verificação e exibição de erro sem exigir que você adicione código para a página.

  3. A partir de Validação grupo da caixa de ferramentas, arraste um RegularExpressionValidator Controle e Soltar-la ao lado para o RequiredFieldValidator Você apenas Adicionado.

  4. Defina as propriedades de seguir o RegularExpressionValidator controle:

    1. Propriedade

    1. Configuração

    ControlToValidate

    textEmail

    Novamente você está validando a entrada do usuário na caixa de email.

    Display

    Dynamic

    ErrorMessage

    Endereços de email devem ser no formato de nome@dominio.xyz.

    Uma mensagem de erro mais detalhada.

    Text

    Formato inválido!

    Uma mensagem de erro curta.

    ValidationGroup

    AllValidators

    Como ocorre com botões de opção, você pode agrupar validadores em grupos que são tratados como uma unidade.Você aprenderá mais sobre agrupamento de validadores posteriormente na explicação passo a passo.

  5. Com o RegularExpressionValidator o controle ainda selecionado, na janela de propriedade clique no botão reticências in a ValidationExpression a caixa.

    Expressões regulares constituem uma linguagem que pode ser usada para localizar padrões definidos com precisão em seqüências.Na RegularExpressionValidator controle, você Definir uma expressão regular para o padrão que é válido — neste maiúscminúsc, o padrão para um email válido.

    O Editor de expressão regular Contém uma lista de expressões regulares comumente usadas para que você possa usar o controle de validador sem aprendizado sintaxe expressão regular.

  6. Na Expressões padrão lista, clique em Endereço de email Internet.

    O expressão regular para um email Endereço é colocado na Expressão de validação a caixa.

  7. Clique em OK Para fechar a caixa de diálogo.

  8. Adicionar outro RequiredFieldValidator Controlarar, usando as instruções de etapas de 1 a 3.Desta vez, no entanto, Ligar-la para o textNumberInParty caixa de texto e definir seu ErrorMessage Propriedade para Indique como muitos pessoas estiverem na sua festa.

  9. A partir de Validação grupo da caixa de ferramentas, arraste um RangeValidator Controle e Soltar-la ao lado para o RequiredFieldValidator Você apenas Adicionado.

  10. Defina as propriedades de seguir o RangeValidator controle:

    1. Propriedade

    1. Configuração

    ControlToValidate

    textNumberInParty

    Display

    Dynamic

    ErrorMessage

    Digite um número entre 1 e 20 para o número de pessoas no seu grupo

    MaximumValue

    20

    Nesse caso, um valor arbitrário mas alto.

    MinimumValue

    1

    Este aplicativo requer pelo menos uma pessoa em uma reserva.

    Text

    Insira um número entre 1 e 20.

    ValidationGroup

    AllValidators

    O RangeValidator controle por Formulários duas funções: ele garante que um usuário insere os dados forem numéricos, e ele verifica se o número é entre os valores mínimo e máximo especificados.

Testando a Página

Agora você pode testar os controles validator que você tem até o momento.

Para testar a validação básica

  1. Pressione CTRL+F5 para executar a página.

  2. Quando a página for exibida no navegador, clique na Enviar solicitação Botão.

    Vários erros de validação serão exibidos, pois você não preencheu alguns campos necessários.Observe que os erros de validação são exibidos imediatamente — a página não é enviada.Por padrão, os controles validator inserem ECMAScript no lado do cliente (JavaScript) na página para realizar validação no navegador.Isso fornece aos usuários comentários instantâneos sobre erros de validação; sem o script de cliente, a verificação de erros de validação pode exigir processamento do servidor, o que pode ser lento às vezes.Na verdade, você não pode enviar a página até que todas as validação do lado do cliente passem.A mesma verificação de validação é executada novamente quando a página é enviada como uma precaução de segurança.

  3. Marcar a validação de textEmail caixa de texto, Digitação um email inválido e novamente com um email válido such as seus próprios.

  4. Verifique se é possível Enter apenas valores numéricos entre 1 e 20 na Número de pessoas na festa caixa de texto.

  5. Quando você tiver inserido os valores válidos, clique na Enviar solicitação Botão.Se a validação passa para Tudo controles, você verá a mensagem A reserva foi processada.

  6. Após você ter confirmado que a validação está funcionando como esperado, feche o navegador.

Se validação não estiver funcionando como esperado, verifique novamente que você fez todas as configurações de propriedade listadas acima e execute a página novamente.

Maneiras alternativas para exibir informações de erro

Por padrão, o validador Controles exibir erro de texto no local; Ou seja, eles exibir o valor do controle do Texto Propriedade no local do controle na página.As vezes convém exibir informações de erro de diferentes maneiras.Os controles validator do ASP.NET fornecem a você essas opções adicionais:

  • Resumir todos os erros de validação em um local.Você pode fazer isso além de (ou ao invés de) mostrá-los in-loco.Exibir resumos de erro também permite que você exiba mais mensagens de erro.

  • Exibir uma mensagem pop-up no navegador com as informações de erro.Esta opção só funciona em navegadores com scripts ativados.

Você pode adicionar Ambos desses Exibir opções usando o ValidationSummary o controle.Nesta parte da explicação passo a passo, você irá adicionar os dois de recursos exibição à página.

Para exibir informações de validação de maneiras alternativas

  1. A partir de Validação grupo da caixa de ferramentas, arraste um ValidationSummary controlar até a página.

  2. Definir o ValidationSummary do controle ValidationGroup() Propriedade para AllValidators.

  3. Execute a página.

  4. Execute o mesmo teste feito anteriormente na explicação passo a passo.

    Para cada erro, você pode ver as informações de erro em dois locais.A Abreviado mensagem de erro (o validador do Texto valor da propriedade) é exibida w aqui o controle de validador é.O maior mensagem de erro (o controle do ErrorMessage valor da propriedade) é exibido na ValidationSummary o controle.

  5. Feche o navegador.

  6. Definir o ValidationSummary do controle ShowMessageBox() Propriedade para verdadeiro.

  7. Execute a página.

  8. Execute o mesmo teste.

    Desta vez, cada erro resulta em uma mensagem pop-up no navegador.

  9. Feche o navegador.

Adicionar validação personalizada para verificar entrada de dados

Os controles de validação do ASP.NET não incluem um controle que automaticamente verifica uma data válida.No entanto, você pode usar o CustomValidator o controle para essa finalidade.O validador personalizado permite que você escreva seu próprio código de validação para verificar qualquer condição que seu aplicativo requeira.Neste exame Através, você usará o CustomValidator Para verificar se o valor o usuário insere em o textPreferredDate caixa de texto pode ser convertido em um valor de data.

Você adicionará dois blocos de código de validação personalizada.O primeiro é o código de validação personalizada que será executado quando a página é enviada.Você deve sempre ter lógica validação do lado do servidor para um CustomValidator o controle.Você também irá escrever alguns scripts de cliente (ECMAScript ou JavaScript) que executa uma verificação semelhante no navegador, para que o usuário possa ter comentários imediatos.

Para usar um controle CustomValidator para verificar uma data válida

  1. A partir de Validação grupo da caixa de ferramentas, arraste um CustomValidator o controle até a página e Posição-la ao lado para o textPreferredDate caixa de texto.

  2. Defina as propriedades de seguir o CustomValidator controle:

    Propriedade

    Configuração

    ControlToValidate

    textPreferredDate

    Display

    Dynamic

    ErrorMessage

    Insira uma data no formato dd/mm/yyyy.

    Text

    Formato de data inválido (requer dd/mm/yyyy).

    ValidationGroup

    AllValidators

  3. Clique duas vezes o CustomValidator controle para criar um manipulador para sua ServerValidate Evento e adicione o código a seguir realçado:

    Protegido sub CustomValidator1_ServerVali Data (_ ByVal Origem As Object, _ ByVal args como System.Web.UI.WebControls.ServerValiDataEventArgs)
     Tente    DateTime.ParseExact(args.Valor, "d", Nada)    args.IsVálido = True Catch    args.IsValid = False End try
    End Sub
    
    Protegido void {CustomValidator1_ServerValidate(Object Origem, ServerValidateEventArgs Args)
      Tente  {      DateTime.ParseExact (args.Value, "d", nulo);      args.IsValid = verdadeiro;  }  Capturar  {     args.IsValid = False;  }
    }
    

    Esse código é executado quando o usuário envia a página.O código interage com o validador controle usando o ServerValidateEventArgs (args objeto passado para o manipulador.O valor que o usuário h Como digitado para a textPreferredDate caixa de texto é passado como o args do objeto Value Propriedade.Depois de ter Marcado se a entrada do usuário é válida, você definir a args do objeto IsValid Propriedade para verdadeiro ou false.Se você defini-la como false, o validator exibirá sua mensagem de erro.

    Nesse exemplo, o código usa um b-catch try Bloquear para determinar se a entrada do usuário pode ser convertida em um DateTime Objeto.Se o usuário inserir um valor inválido (tudo que não está de acordo com uma data no formato d/m/aaaao DateTime do objeto [OverCarregar:System.DateTime.ParseExact] Método gera uma exceção e o Catch Bloquear é executado.

  4. Na Button_Click manipulador, Adicionar realçado o seguinte código:

    Protegido sub buttonSubmit_Click(ByVal Sender As Object, _ ByVal e As System.EventArgs)
       Se em seguida Page.IsVálido
          labelMessage.Texto = "a reserva foi processada."
     Pessoa   labelMensagem.Texto = "Página não é válida."End se
    End Sub
    
    Protegido {buttonSubmit_Click(object sender, EventArgs e) void
      Se (Page.IsValid)  {
            labelMessage.Text = "a reserva foi processada.";
      }  Pessoa      labelMensagem.Texto = "Página não é válida."  }
    }
    

    Quando você usa um CustomValidator o controle, você deve verificar o PageIsValid()Propriedade em qualquer servidor processamento para garantir que todas as verificações de validação tiverem passado.O IsValid() Propriedade retorna o estado cumulativo dos todos os controles de validação a página.Esta propriedade é utilizada para garantir que todas as verificações de validação já passaram qualquer processamento do servidor.

Você tem agora Adicionado o código do lado do servidor para o CustomValidator Controle para verificar uma data válida.Como você sabe de explicações anteriores nesta explicação passo a passo, controles validator também podem verificar uma entrada do usuário usando um script no cliente.Você pode adicionar script de cliente para a CustomValidator Controle bem.Na verdade, você escreve um script de cliente que duplica a lógica que executa a validação do lado do servidor.Escrever código de validação personalizada no cliente nem sempre é prático (por exemplo, se o código personalizado valida uma entrada do usuário procurando em um servidor de banco de dados).No entanto, nesse caso, você pode criar código do cliente que executa essencialmente a mesma verificação que seu código do servidor está executando.

Para adicionar um script de cliente ao controle CustomValidator

  1. Abra ou alterne para Default.aspx.

  2. Na < Cabeçalho > Elemento da página, adicione o seguinte bloco de script do cliente:

    < script Idioma = "JavaScript" > Função validateDate(oSrc, Args) {var iDay, iMês, iYear; var arrValues; arrValues = args.Value.Dividir("/"); iMonth = arrValues [0]; iDay = arrValues [1]; iYear = arrValues [2];
    
      var testDate = Novo Date(iYear, iMonth-1, iDay); Se ((testDate.getDate()!= iDay) || (testDate.getMonth()! = iMonth - 1) || (testDate.getFullYear()! = iYear)) {args.IsValid = False; Retornar; }
    
      retornar Verdadeiro;  < / script >
    
    Observação:

    ECMAScript (JavaScript) diferencia maiúsculas de minúsculas; insira o código exatamente como você o vê aqui.

    Esse código é semelhante à verificação de validação do lado do servidor, mas não tão estrito.A entrada do usuário é passada para a função como o args do objeto Value (Valor) Propriedade e você pode definir o objeto do IsValid Propriedade para indicar se o valor passa a validação.No exemplo, o código verifica para certificar-se que datas numéricas válidas foram inseridas.

    Observe que o código para a validação personalizada é um pouco diferente em script de cliente do que está no código no servidor.ECMAScript com não fornece exatamente a mesma funcionalidade que o .NET Framework.Portanto, o ECMAScript analisa o texto inserido em vez da [OverCarregar:System.DateTime.ParseExact] Código que você usar no servidor para verificar a data.Entretanto, as verificações das duas validações (cliente e servidor) são semelhantes o suficiente para fornecer a funcionalidade de que você precisa.

  3. Coloque o ponto de inserção na < ASP:CustomValidator > Elemento para Selecionar-la.

  4. Na janela Propriedades, defina do controle ClientValidationFunction Propriedade para validateDateque é o nome da função ECMAScript que você acabou Criado.

    Você acaba de adicionar uma verificação de validação personalizada que funciona tanto como script de cliente para verificar imediatamente a entrada do usuário como depois quando a página é enviada para o servidor.

Testando de validação personalizada

Agora você pode testar se a validação personalizada está funcionando corretamente.

Para testar a validação personalizada

  1. Desativar temporariamente a validação do cliente por Configuração o EnableClientScript Propriedade das CustomValidator Controlar a false.

  2. Pressione CTRL+F5 para executar a página.

  3. Preencha um endereço de email e o número de pessoas do grupo para que a validação para aqueles campos passe.

  4. Em caixa de texto de data, digite um Cadeia de Caracteres que é obviamente, não uma data e, em seguida, clique na Enviar solicitação Botão.

    Sua página executa um processamento para o servidor Web, onde a validação do lado do servidor falha.O teste para IsValid() falhar e labelMessage diz "Página não é válida."

  5. Preencha um valor de data válida (como 17/11/2005) e clique o botão.

    Desta vez, o valor de data passa validação, para que você veja a mensagem de confirmação criada do botão [E:Sistema.Web.UI.WebControles.Botão.Click] manipulador.

  6. Feche o navegador.

  7. Reativar da validação do cliente, definindo o EnableClientScript Propriedade das CustomValidator Controle Voltar para verdadeiro.

  8. Execute a página novamente e digite os valores válidos para o endereço de email e número de pessoas em seu grupo.

    Digite um valor de data inválido na caixa de texto data e pressione a tecla TAB.Não clique o botão.

    Assim que a caixa de texto data perder o foco, o script de validação é executado do lado do cliente e é exibida uma mensagem de erro.

    Observação:

    Se você estiver usando a opção auto-complete no Internet Explorer, selecionar um valor a partir da lista auto-complete preencherá um valor para a caixa de texto, mas o validador do cliente não será executado.

  9. Clique na Enviar solicitação Botão.

    Devido ao fato da validação do lado do cliente para a caixa de texto data ter falhado, a página não é enviada.

  10. Corrija o valor de data e pressione a tecla TAB novamente.

    A mensagem de erro desaparecerá.Agora você pode enviar o formulário.

Adicionar controles opcionais com validação condicional

Na parte final da explicação passo a passo, você adicionará algumas informações opcionais para o formulário de reserva.Os usuários podem marcar uma caixa de seleção para indicar que desejam confirmação da sua reserva via telefone.Se eles quiserem, eles devem digitar seu número de telefone.Portanto a página irá conter dois controles adicionais: uma caixa de seleção e uma caixa de texto.

Como antes, você usará validação para verificar as entradas do usuário.Você usará um RequiredFieldValidator Controlar para garantir que os usuários insira um número de telefone e um RegularExpressionValidator Controle para verificar seu Formatarar.O número de telefone é opcional; Você precisará verificar o número de telefone somente se o usuário tiver selecionado o Confirmação de reserva por telefone caixa de seleção.Você portanto escreverá alguns códigos simples que ativam ou desativam a validação para o número de telefone dependendo do estado da caixa de seleção.

Para adicionar validação condicional

  1. A partir de Padrão grupo da caixa de ferramentas, arraste um CheckBox controlar até a página e defina as propriedades a seguir:

    Propriedade

    Configuração

    ID

    checkPhoneConfirmation

    [P:System.Web.UI.WebControls.Caixa de Seleção.AutoPostBack]

    True

    Quando o usuário clica na caixa de seleção, a página executará um processamento e condicionalmente ativará a caixa de texto e a validação para ela.

    [P:System.Web.UI.WebControls.Caixa de Seleção.CausesValidation]

    Falso

    Clicar na CheckBox Não automaticamente causará a validação.

    Text

    Confirmar reserva por telefone.

  2. Arraste um TextBox o controle até a página abaixo de CheckBox Controle e defina as propriedades a seguir:

    1. Propriedade

    1. Configurações

    ID

    textPhoneNumber

    Enabled

    Falso

    A caixa de texto não será ativada até que o usuário clique na caixa de seleção.

  3. tipo texto como Número de telefone: NEXT to o caixa de texto Número de telefone como uma legenda.

  4. A partir de Validação grupo da caixa de ferramentas, arraste um RequiredFieldValidator a página e definir as propriedades a seguir:

    Propriedade

    Configuração

    ID

    validatorRequiredPhoneNumber

    Você não definiu a identificação dos controles de validação anteriormente nesta explicação passo a passo, mas nesse caso você estará se referindo ao controle de validação no código, então é útil fornecer ele uma identificação mnemônica.

    ControlToValidate

    textPhoneNumber

    Display

    Dynamic

    ErrorMessage

    Você deve fornecer um número de telefone.

    Text

    *

    ValidationGroup

    (Deixe em branco)

    Se essa propriedade estiver em branco, o validador não pertence ao AllValidators Agrupar que você estabeleceu para os outros controles de validação na página.Como um conSeqüência, por padrão Este validador não é verificado quando o buttonSubmit controle é clicado.

  5. Arraste um RegularExpressionValidator controlar até a página e defina as propriedades a seguir:

    Propriedade

    Configuração

    ID

    validatorRegExPhoneNumber

    ControlToValidate

    textPhoneNumber

    Display

    Dynamic

    ErrorMessage

    Formato do número de telefone é inválido

    Text

    Formato inválido

    ValidationExpression

    (Use o caixa de diálogo Regular Expressão Editor para selecionar dos EUANúmero de telefone ou um Outro telefone número expressão.)

    ValidationGroup

    (Deixe em branco)

  6. Clique duas vezes o checkPhoneConfirmation controle para criar um manipulador para sua [E:Sistema.Web.UI.WebControles.Caixa de Seleção.CheckedChanged] Evento e adicione o código a seguir realçado:

    Protegido sub checkPhoneConfirmation_CheckedAlterado (_ ByVal remetente como objeto, _ ByVal e como System.EventArgs)
     Se checkPhoneConfirmation.Checked = True Then    textPhoneNúmero.Habilitado = True    validatorRequiredPhoneNumber.ValidationGroup = "AllValidators"    validatorRegExPhoneNumber.ValidationGroup = "AllValidators" Else    textPhoneNumber.Enabled = False    validatorRequiredPhoneNumber.ValidationGroup = " "    validatorRegExPhoneNumber.ValidationGroup = " " End se
    End Sub
    
    Protegido void checkPhoneConfirmation_CheckedChanged (objeto remetente, EventArgs e) {
      if(checkPhoneConfirmation.Checked)  {      textPhoneNumber.Enabled = verdadeiro;      validatorRequiredPhoneNumber.ValidationGroup =          " AllValidators ";      validatorRegExPhoneNumber.ValidationGroup = "AllValidators";  }  Pessoa  {      textPhoneNumber.Enabled = False;      validatorRequiredPhoneNumber.ValidationGroup = " ";      validatorRegExPhoneNumber.ValidationGroup = " ";  }
    }
    

    Quando o usuário clicar na caixa de seleção, os dois validators associados à caixa de texto são adicionados ao grupo de validação a que os outros controles pertencem.O efeito é que todos os validators na página, incluindo aqueles para o número de telefone, serão selecionados quando o usuário enviar a página.Se o usuário limpa o caixa de seleção, os validators serão RE Movido de o grupo e são, portanto, não processadas quando o Enviar solicitação botão é clicado.

Testando a validação condicional

Agora você pode testar se a validação condicional está funcionando corretamente.

Para testar a validação condicional

  1. Pressione CTRL+F5 para executar a página.

  2. Digite as informações sobre o endereço de email, número de pessoas no grupo e data válida.

  3. Clique em Enviar solicitação.

    A página é enviada e você verá a mensagem de confirmação.

  4. Selecione o Confirmação de reserva por telefone caixa de seleção.

  5. Clique em Enviar solicitação novamente.

    Desta vez, você verá uma mensagem de erro (uma estrela próxima a caixa de texto telefone).Quando você clicou na caixa de seleção, você ativou a validação para o caixa de texto.

  6. Digite um número de telefone inválido e em seguida, clique em Enviar solicitação novamente para confirmar que a caixa de texto não aceitará um número de telefone inválido.

  7. Digite um número de telefone formatado corretamente e clique no botão de envio para confirmar que o controle validator aceita dados válidos.

Próximas etapas

A validação que você adicionou à página Web Forms ilustra os conceitos básicos dos controles de validação da Web.

Um aspecto importante da validação é compreender como ela ajuda a aumentar a segurança para o site.Para obter detalhes, consulte Visão Geral sobre Ameças de Segurança em Aplicativos da Web.

Consulte também

Conceitos

Visão Geral de Scripts Maliciosos

Referência

Validando Entrada de Usuário em Páginas da Web ASP.NET