Como estender um controle de formulário da Web para trabalhar com os controles de validação usando o Visual Basic .NET ou Visual Basic 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 310082
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 310145.

NESTA TAREFA

Sumário
Não é possível usar todos os controles de formulário da Web em conjunto com os controles de validação. Para usar controles com os controles de validação, o controle deve ter um atributo ValidationProperty . O atributo ValidationProperty Especifica contra o valor devem validar os controles de validação. Este artigo demonstra como estender um controle de formulário da Web para trabalhar com os controles de validação.

O controle de Calendário é um dos controles que não podem ser validados em seu estado original. Em muitos casos, no entanto, você deve poder validar a seleção do usuário no controle Calendar . Há duas soluções para esse problema:
  • Escreva um controle validador personalizado.
  • Estenda o controle Calendar para que você pode usá-lo com os controles de validação internos.
Este artigo aborda a segunda solução. Para escrever um controle de validação personalizada, consulte o tópico da Ajuda na seção References.

Observação : Este artigo demonstra como estender o controle Calendar para validação do lado do servidor somente. Para validação do lado do cliente ocorrer, a validação controla gancho até o HTML correspondente propriedade Value do controle. Como muitos controles HTML são usados para criar o controle Calendar , há controle HTML único contém o valor selecionado para o controle Calendar . Portanto, a validação do lado do cliente não é apropriada para o controle Calendar .

back to the top

Estender o controle de calendário

Para estender o controle de Calendário , você pode criar uma classe que herda o controle de Calendário existente. Para permitir que o controle interagir com os controles de validação, você adiciona o atributo ValidationProperty e uma propriedade que retorna a data selecionada em um formato que é adequado para os controles de validação.

Para permitir que o controle para ser usado com o controle RequiredFieldValidator , você retornar uma seqüência vazia se a propriedade SelectedDate do controle Calendar é definida como "01-jan-0001" como "01-jan-0001" é a data que é retornada se nenhuma data for selecionada. Em todos os outros casos, você retornar uma seqüência que contém a data no formato AAAA/MM/dd que pode usar o controle RangeValidator .
  1. Abra o Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005 e crie um novo projeto Visual Basic ASP.NET Web Application.
  2. A partir do menu Project , adicionar uma nova classe ao seu aplicativo da seguinte maneira:
    <ValidationProperty("Text")> Public Class VCalendar    Inherits System.Web.UI.WebControls.Calendar    Public ReadOnly Property Text()        Get            Dim DateString As String = Me.SelectedDate.ToString("yyyy/MM/dd")            If DateString = "0001/01/01" Then                Return ""            Else                Return DateString            End If        End Get    End PropertyEnd Class						
    Observação : no formato de data acima, "MM" deve ser maiúsculo para retornar o mês como minúsculas "mm" retorna minutos. Se você retornar a data neste formato, você pode usar a comparação de seqüência de caracteres para verificar o intervalo.
  3. Salve o arquivo e clique em Build no menu Build para criar o aplicativo.
back to the top

Adicionar o controle a um formulário da Web

Para adicionar um controle personalizado a um formulário da Web, você deve adicionar uma referência à parte superior da página da Web. Isso define o espaço para nome e a marca que você usar no HTML.
  1. Adicione uma página .aspx para o projeto.
  2. Na parte superior da página, usar o < % @ registrar % > diretiva para registrar o controle da seguinte maneira:
    <%@ Register TagPrefix="Custom" Namespace="ExtendCalendar" Assembly="csExtendCalendar" %>						
    Observação : você deve alterar "Namespace" para coincidir com o espaço para nome que é usado no arquivo de classe e "Assembly" para coincidir com o nome de projeto do seu aplicativo.
  3. Adicionar um controle VCalendar dentro do <FORM runat="server"> </form> marca da seguinte maneira:
    <CUSTOM:VCALENDAR id="MyCalendar" runat="server"></CUSTOM:VCALENDAR>					
  4. Alterne para o modo Design. O controle de Calendário deve aparecer no formulário da Web. Se o controle Calendar não for exibida, verifique se as configurações "Namespace" e "Assembly" estão corretas.
back to the top

Link para controles de validador

O código de exemplo esta seção demonstra como adicionar um RangeValidator e controle RequiredFieldValidator para o formulário da Web e como vinculá-las para o controle VCalendar .
  1. Adicionar um controle RangeValidator e RequiredFieldValidator para o formulário da Web e defina as propriedades desses controles da seguinte maneira para vincular esses controles ao controle Calendário :

    RangeValidator :
    ControlToValidate : MyCalendar
    ErrorMessage : data deve estar entre 1/10/2001 e 31/10/2001
    MinimumValue : 10/2001/01
    MaximumValue : 31/10/2001
    EnableClientScript : FALSO
    RequiredFieldValidator :
    ControlToValidate : MyCalendar
    ErrorMessage : Insira uma data entre!
    EnableClientScript : FALSO
  2. Adicione um controle de formulário da Web botão à página.
back to the top

Testar a página da Web

  1. Clique em Construir no menu Build para criar o aplicativo.
  2. No Solution Explorer, clique o formulário da Web com o botão direito do mouse e, em seguida, clique em View in Browser .
  3. Você deve ver uma página que contém um controle de Calendário e um botão. Clique no botão. Você deve receber a mensagem de erro RequiredFieldValidator .
  4. Selecione uma data fora do intervalo de 01-out-2001 para 31-out-2001 e, em seguida, clique no botão. A mensagem de erro RequiredFieldValidator deve desaparecer e você deve recebe a mensagem de erro RangeValidator .
  5. Selecione uma data no intervalo de 01-out-2001 para 31-out-2001 e, em seguida, clique no botão. Nenhuma mensagem de validação deve aparecer.
back to the top
Referências
Para obter mais informações, consulte "Web Forms validação" tópico na documentação Microsoft Visual Studio .NET ajuda online. Este tópico contém links para outros tópicos de validação de formulário da Web. Para procurar por este tópico, digite Validação de formulários da Web no recurso de pesquisa de documentação de Ajuda e limitar a pesquisa Somente títulos .

back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 310082 - Última Revisão: 12/06/2006 23:18:59 - Revisão: 3.5

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft ASP.NET 1.0

  • kbmt kbvs2005applies kbvs2005swept kbctrlcreate kbhowtomaster kbservercontrols KB310082 KbMtpt
Comentários