BaseValidator.IsValid 屬性

定義

取得或設定值,指出相關輸入控制項是否通過驗證。

public:
 property bool IsValid { bool get(); void set(bool value); };
[System.ComponentModel.Browsable(false)]
public bool IsValid { get; set; }
[System.ComponentModel.Browsable(false)]
[System.Web.UI.Themeable(false)]
public bool IsValid { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.IsValid : bool with get, set
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.Themeable(false)>]
member this.IsValid : bool with get, set
Public Property IsValid As Boolean

屬性值

如果關聯輸入控制項通過驗證,則為 true,否則為 false。 預設值是 true

實作

屬性

範例

下列程式碼範例示範如何使用 IsValid 屬性來判斷相關聯的輸入控制項是否通過驗證。

重要

這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 
  void Button_Click(Object sender, EventArgs e) 
  {
    if (NumberCompareValidator.IsValid && TextBoxRequiredValidator.IsValid)
    {
      MessageLabel.Text = "Page submitted successfully.";
    }
    else
    {
      MessageLabel.Text = "There is an error on the page.";
    }
  }
 
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Validator Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>Validator Example</h3>
     
      Enter a number from 1 to 10.
      <asp:textbox id="NumberTextBox" 
        runat="server"/>

      <asp:rangevalidator id="NumberCompareValidator" 
        controltovalidate="NumberTextBox"
        enableclientscript="False"  
        type="Integer"
        display="Dynamic" 
        errormessage="Please enter a value from 1 to 10."
        maximumvalue="10"
        minimumvalue="1"  
        text="*"
        runat="server"/>

      <asp:requiredfieldvalidator id="TextBoxRequiredValidator" 
        controltovalidate="NumberTextBox"
        enableclientscript="False"
        display="Dynamic" 
        errormessage="Please enter a value."
        text="*"
        runat="server"/>

      <br /><br />

      <asp:button id="SubmitButton"
        text="Submit"
        onclick="Button_Click"
        runat="server"/>
 
      <br /><br />
       
      <asp:label id="MessageLabel" 
        runat="server"/>

      <br /><br />

      <asp:validationsummary
        id="ErrorSummary"
        runat="server"/>
 
    </form>
  </body>
</html>
<%@ Page Language="VB" AutoEventWireup="False" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 
  Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles SubmitButton.Click
 
    If NumberCompareValidator.IsValid And TextBoxRequiredValidator.IsValid Then
    
      MessageLabel.Text = "Page submitted successfully."
    
    Else
    
      MessageLabel.Text = "There is an error on the page."
    
    End If
    
  End Sub
 
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Validator Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>Validator Example</h3>
     
      Enter a number from 1 to 10.
      <asp:textbox id="NumberTextBox" 
        runat="server"/>

      <asp:rangevalidator id="NumberCompareValidator" 
        controltovalidate="NumberTextBox"
        enableclientscript="False"  
        type="Integer"
        display="Dynamic" 
        errormessage="Please enter a value from 1 to 10."
        maximumvalue="10"
        minimumvalue="1"  
        text="*"
        runat="server"/>

      <asp:requiredfieldvalidator id="TextBoxRequiredValidator" 
        controltovalidate="NumberTextBox"
        enableclientscript="False"
        display="Dynamic" 
        errormessage="Please enter a value."
        text="*"
        runat="server"/>

      <br /><br />

      <asp:button id="SubmitButton"
        text="Submit"
        runat="server"/>
 
      <br /><br />
       
      <asp:label id="MessageLabel" 
        runat="server"/>

      <br /><br />

      <asp:validationsummary
        id="ErrorSummary"
        runat="server"/>
 
    </form>
  </body>
</html>

備註

IsValid使用 屬性來判斷相關聯的輸入控制項是否通過驗證。

警告

因為這個屬性的預設值是 true ,所以如果您在執行驗證之前查詢此屬性,則會傳回 true 。 例如,如果您嘗試在 Control.Load 頁面發生時使用這個屬性,可能會發生這種情況。

IsValid只有在呼叫 方法時, Validate 才會評估 屬性。 您可以個別呼叫 Validate 頁面上每個驗證控制項的方法,或使用 方法一次 Page.Validate 呼叫所有驗證控制項。 按鈕控制項的 CausesValidation 屬性設定為 true 也會呼叫 Page.Validate 方法。

注意

在驗證發生之後,可以手動變更此屬性的值。 這可讓您視需要覆寫驗證結果。

Page.IsValid只有當頁面上每個驗證控制項的屬性也設定為 時 IsValid ,頁面 true 的 屬性才會設定為 true

這個屬性無法由佈景主題或樣式表主題設定。 如需詳細資訊,請參閱 ThemeableAttributeASP.NET 主題和麵板

適用於

另請參閱