Compartilhar via


BaseCompareValidator.CanConvert Método

Definição

Determina se a cadeia de caracteres especificada pode ser convertida no tipo de dados especificado.

Sobrecargas

CanConvert(String, ValidationDataType)

Determina se a cadeia de caracteres especificada pode ser convertida no tipo de dados especificado. Esta versão do método sobrecarregado testa os valores de moeda, de duplo e de data usando o formato usado pela cultura atual.

CanConvert(String, ValidationDataType, Boolean)

Determina se a cadeia de caracteres especificada pode ser convertida no tipo de dados especificado. Esta versão do método sobrecarregado permite que você especifique se os valores são testados usando um formato de cultura neutra.

CanConvert(String, ValidationDataType)

Determina se a cadeia de caracteres especificada pode ser convertida no tipo de dados especificado. Esta versão do método sobrecarregado testa os valores de moeda, de duplo e de data usando o formato usado pela cultura atual.

public:
 static bool CanConvert(System::String ^ text, System::Web::UI::WebControls::ValidationDataType type);
public static bool CanConvert (string text, System.Web.UI.WebControls.ValidationDataType type);
static member CanConvert : string * System.Web.UI.WebControls.ValidationDataType -> bool
Public Shared Function CanConvert (text As String, type As ValidationDataType) As Boolean

Parâmetros

text
String

A cadeia de caracteres a ser testada.

type
ValidationDataType

Um dos valores de ValidationDataType.

Retornos

Boolean

true se a cadeia de caracteres de dados especificada puder ser convertida no tipo de dados especificado; caso contrário, false.

Exemplos

O exemplo a seguir demonstra o uso do CanConvert método para comparar dois valores inteiros e determinar se o segundo inteiro pode ser convertido.


<%@ Page Language="C#" AutoEventWireup="True" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>BaseCompareValidator CanConvert Example</title>
<script runat="server">
 
      void Button_Click(Object sender, EventArgs e) 
      {
          
         // Display whether the value of TextBox1 passes validation.  
         if (Page.IsValid) 
         {

            lblOutput.Text = "Validation passed! ";

            // An input control passes validation if the value it is being 
            // compared to cannot be converted to the data type specified 
            // by the BaseCompareValidator.Type property. Be sure to use 
            // validation controls on each input control independently.

            // Test the values being compared for their data types.
            ValidateType(Page.IsValid);

         }
         else 
         {

            lblOutput.Text = "Validation failed! ";

            // Test the values being compared for their data types.
            ValidateType(Page.IsValid);

         }         

      }

      void ValidateType(bool Valid)
      {
          
         // Display an error message if the value of TextBox1 cannot be 
         // converted to the data type specified by the 
         // BaseCompareValidator.Type property (in this case an integer).
         if (!BaseCompareValidator.CanConvert(TextBox1.Text, ValidationDataType.Integer))
         {

            lblOutput.Text += "The first value is not an integer. ";

         }

         // Display an error message if the value of TextBox2 cannot be 
         // converted to the data type specified by the 
         // BaseCompareValidator.Type property (in this case an integer).
         if (!BaseCompareValidator.CanConvert(TextBox2.Text, ValidationDataType.Integer))
         {
          
            // An input control passes validation if the value it is being 
            // compared to cannot be converted to the data type specified 
            // by the BaseCompareValidator.Type property.  
            // Display a different message when this scenario occurs.
            if(Valid)
            {
               lblOutput.Text += "However, the second value is not an integer. ";
            }
            else
            {
               lblOutput.Text += "The second value is not an integer. ";
            }

         }

      }
 
   </script>
 
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>BaseCompareValidator CanConvert Example</h3>
      <p>
      Enter an integer in each text box. <br />
      Click "Validate" to compare the values <br />
      for equality.
      </p>
 
      <table style="background-color:#eeeeee; padding:10">

         <tr valign="top">

            <td>

               <h5>Value 1:</h5>
               <asp:TextBox id="TextBox1" 
                    runat="server"/>

            </td>


            <td>

               <h5>Value 2:</h5>
               <asp:TextBox id="TextBox2" 
                    runat="server"/>
               <p>
               <asp:Button id="Button1"
                    Text="Validate"  
                    OnClick="Button_Click" 
                    runat="server"/>
                </p>
            </td>
         </tr>

      </table>
 
      <asp:CompareValidator id="Compare1" 
           ControlToValidate="TextBox1" 
           ControlToCompare="TextBox2"
           EnableClientScript="False" 
           Type="Integer" 
           runat="server"/>
 
      <br />
       
      <asp:Label id="lblOutput" 
           Font-Names="verdana" 
           Font-Size="10pt" 
           runat="server"/>
 
   </form>
 
</body>
</html>

<%@ Page Language="VB" AutoEventWireup="True" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>BaseCompareValidator CanConvert Example</title>
<script runat="server">
 
      Sub Button_Click(sender As Object, e As EventArgs) 
          
         ' Display whether the value of TextBox1 passes validation.  
         If Page.IsValid Then 

            lblOutput.Text = "Validation passed! "

            ' An input control passes validation if the value it is being 
            ' compared to cannot be converted to the data type specified 
            ' by the BaseCompareValidator.Type property. Be sure to use 
            ' validation controls on each input control independently.

            ' Test the values being compared for their data types.
            ValidateType(Page.IsValid)

         Else 

            lblOutput.Text = "Validation failed! "

            ' Test the values being compared for their data types.
            ValidateType(Page.IsValid)

         End If         

      End Sub

      Sub ValidateType(Valid As Boolean)
          
         ' Display an error message if the value of TextBox1 cannot be 
         ' converted to the data type specified by the 
         ' BaseCompareValidator.Type property (in this case an integer).
         If Not BaseCompareValidator.CanConvert(TextBox1.Text, ValidationDataType.Integer) Then

            lblOutput.Text &= "The first value is not an integer. "

         End If

         ' Display an error message if the value of TextBox2 cannot be 
         ' converted to the data type specified by the 
         ' BaseCompareValidator.Type property (in this case an integer).
         If Not BaseCompareValidator.CanConvert(TextBox2.Text, ValidationDataType.Integer) Then
          
            ' An input control passes validation if the value it is being 
            ' compared to cannot be converted to the data type specified 
            ' by the BaseCompareValidator.Type property. 
            ' Display a different message when this scenario occurs.
            If Valid Then

               lblOutput.Text &= "However, the second value is not an integer. "
            
            Else
            
               lblOutput.Text &= "The second value is not an integer. "

            End If

         End If

      End Sub
 
   </script>
 
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>BaseCompareValidator CanConvert Example</h3>
      <p>
      Enter an integer in each text box. <br />
      Click "Validate" to compare the values <br />
      for equality.
      </p>
 
      <table  style="background-color:#eeeeee; padding:10">

         <tr valign="top">

            <td>

               <h5>Value 1:</h5>
               <asp:TextBox id="TextBox1" 
                    runat="server"/>

            </td>


            <td>

               <h5>Value 2:</h5>
               <asp:TextBox id="TextBox2" 
                    runat="server"/>
               <p>
               <asp:Button id="Button1"
                    Text="Validate"  
                    OnClick="Button_Click" 
                    runat="server"/>
                </p>    

            </td>
         </tr>

      </table>
 
      <asp:CompareValidator id="Compare1" 
           ControlToValidate="TextBox1" 
           ControlToCompare="TextBox2"
           EnableClientScript="False" 
           Type="Integer" 
           runat="server"/>
 
      <br />
       
      <asp:Label id="lblOutput" 
           Font-Names="verdana" 
           Font-Size="10pt" 
           runat="server"/>
 
   </form>
 
</body>
</html>

Comentários

Use o CanConvert(String, ValidationDataType) método para determinar se a cadeia de caracteres especificada pode ser convertida no tipo de dados especificado. Esse método é comumente usado para testar se uma cadeia de caracteres pode ser convertida em um tipo de dados compatível antes de executar uma operação que depende desse tipo de dados.

Esta versão do método testa o valor usando o formato usado pela cultura atual. Para testar o valor usando um formato neutro de cultura, use a BaseCompareValidator.CanConvert(String, ValidationDataType, Boolean) versão sobrecarregada desse método.

Confira também

Aplica-se a

CanConvert(String, ValidationDataType, Boolean)

Determina se a cadeia de caracteres especificada pode ser convertida no tipo de dados especificado. Esta versão do método sobrecarregado permite que você especifique se os valores são testados usando um formato de cultura neutra.

public:
 static bool CanConvert(System::String ^ text, System::Web::UI::WebControls::ValidationDataType type, bool cultureInvariant);
public static bool CanConvert (string text, System.Web.UI.WebControls.ValidationDataType type, bool cultureInvariant);
static member CanConvert : string * System.Web.UI.WebControls.ValidationDataType * bool -> bool
Public Shared Function CanConvert (text As String, type As ValidationDataType, cultureInvariant As Boolean) As Boolean

Parâmetros

text
String

A cadeia de caracteres a ser testada.

type
ValidationDataType

Um dos valores de enumeração ValidationDataType.

cultureInvariant
Boolean

true para testar valores usando um formato de cultura neutra; caso contrário, false.

Retornos

Boolean

true se a cadeia de caracteres de dados especificada puder ser convertida no tipo de dados especificado; caso contrário, false.

Comentários

Use o CanConvert(String, ValidationDataType, Boolean) método para determinar se a cadeia de caracteres especificada pode ser convertida no tipo de dados especificado. Esse método é comumente usado para testar se uma cadeia de caracteres pode ser convertida em um tipo de dados compatível antes de executar uma operação que depende desse tipo de dados. Para indicar que os valores devem ser testados usando um formato neutro de cultura, passe true para o cultureInvariant parâmetro; caso contrário, os valores são testados usando o formato usado pela cultura atual. Ao testar um valor usando o formato usado pela cultura atual, considere usar a BaseCompareValidator.CanConvert(String, ValidationDataType) versão sobrecarregada desse método.

Confira também

Aplica-se a