BaseValidator.IsValid 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,指出相關輸入控制項是否通過驗證。
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 呼叫所有控制項。 將屬性設定為的true
按鈕控制件CausesValidation
也會呼叫 Page.Validate 方法。
注意
在驗證完成之後,可以手動變更此屬性的值。 這可讓您視需要覆寫驗證結果。
Page.IsValid
true
只有當頁面上每個驗證控制元件的屬性也設定為 時,IsValid頁面的屬性才會設定為 true
。
這個屬性無法由佈景主題或樣式表主題設定。 如需詳細資訊,請參閱 ThemeableAttribute 和 ASP.NET 主題和外觀。