CustomValidator 控制項可以讓開發人員提供自已的方法來驗證另一控制項的欄位。
行動控制項語法
需要的屬性和具程式碼功能的項目以粗體樣式標註。
<mobile:CustomValidatorrunat="server"
id="id"
Font-Name="fontName"
Font-Size="{NotSet|Normal|Small|Large}"
Font-Bold="{NotSet|False|True}"
Font-Italic=""{NotSet|False|True}"
ForeColor="foregroundColor"
BackColor="backgroundColor"
Alignment="{NotSet|Left|Center|Right}"
StyleReference="styleReference"
Text="ErrorText"
Wrapping="{NotSet|Wrap|NoWrap}"
ControlToValidate="IdOfTargetControl"
Display="{None|Static|Dynamic}"
ErrorMessage="ErrorTextForSummary"
OnServerValidate="EventHandler">
innerText
</mobile:CustomValidator>
內含項目規則
下列控制項可以包含 CustomValidator 控制項。
| 控制項 | 註解 |
|---|---|
| System.Web.UI.MobileControls.Form | 可以包含任何數目的 CustomValidator 控制項。 |
| System.Web.UI.MobileControls.Panel | 可以包含任何數目的 CustomValidator 控制項。 |
CustomValidator 控制項不可以包含任何其他控制項。
裝置樣板
無
裝置的特定行為
呈現任何驗證器時,其呈現的裝置特定性質與 Label 控制項的裝置特定呈現完全相同。然而,驗證器的 StyleReference 屬性 (Property) 一開始就設為 Error。其將使用網頁 Stylesheet 控制項中的錯誤樣式;如果沒有任何樣式表存在,則使用系統預設的樣式表。
範例
這個範例中的程式碼可確保使用者輸入的數字是偶數。
<%@ Page Inherits= "System.Web.UI.MobileControls.MobilePage"
Language="VB" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script language="vb" runat="server">
protected Sub Submit_Click(sender As Object, e As EventArgs)
If Page.IsValid Then
ActiveForm = Form2
End If
End Sub
Sub ServerValidate (source As object, args As ServerValidateEventArgs)
Dim num as Int32
num = Int32.Parse(number.Text)
args.IsValid = ((num Mod 2) = 0)
End Sub
</script>
<mobile:Form id="Form1" runat="server">
<mobile:Label runat="server">
Please enter an even number.
</mobile:Label>
<mobile:TextBox id="number" runat="server"/>
<mobile:CustomValidator ControlToValidate="number"
OnServerValidate="ServerValidate"
runat="server">
Invalid number
</mobile:CustomValidator>
<mobile:Command runat="server" OnClick="Submit_Click">
Submit
</mobile:Command>
</mobile:Form>
<mobile:Form id="Form2" runat="server">
<mobile:Label runat="server">number is submitted</mobile:Label>
</mobile:Form>
[C#]
<%@ Page Inherits= "System.Web.UI.MobileControls.MobilePage"
Language="C#" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script language="c#" runat="server">
protected void Submit_Click(Object sender, EventArgs e)
{
if (Page.IsValid)
{
ActiveForm = Form2;
}
}
void
ServerValidate (object source, ServerValidateEventArgs args)
{
int num = Int32.Parse(number.Text);
args.IsValid = ((num % 2) == 0);
}
</script>
<mobile:Form id="Form1" runat="server">
<mobile:Label runat="server">
Please enter an even number.
</mobile:Label>
<mobile:TextBox id="number" runat="server"/>
<mobile:CustomValidator ControlToValidate="number"
OnServerValidate="ServerValidate"
runat="server">
Invalid number
</mobile:CustomValidator>
<mobile:Command runat="server" OnClick="Submit_Click">
Submit
</mobile:Command>
</mobile:Form>
<mobile:Form id="Form2" runat="server">
<mobile:Label runat="server">number is submitted</mobile:Label>
</mobile:Form>
請參閱
CustomValidator 類別 | CustomValidator 類別成員 | CustomValidator Web 伺服器控制項 | 控制項參考