ASP.NET 移动控件---CustomValidator 控件
CustomValidator 控件允许开发人员提供他们自己的方法来验证另一个控件的字段。
移动控件语法
必需的属性、默认值和具有代码特征的元素以粗体显示。
<mobile:CustomValidator
runat="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="Text"
Wrapping="{NotSet|Wrap|NoWrap}"
ControlToValidate="IdOfTargetControl"
Display="{None|Static|Dynamic}"
Message="TextForSummary"
OnServerValidate="EventHandler">
innerText
</mobile:CustomValidator>
包容规则
以下控件可以包含 CustomValidator 控件。
控件 说明
System.Web.UI.MobileControls.Form 可以包含任意多个 CustomValidator 控件。
System.Web.UI.MobileControls.Panel 可以包含任意多个 CustomValidator 控件。
CustomValidator 控件不能包含任何其他控件。
设备模板
无。
特定于设备的行为
呈现任何验证程序时,它的特定于设备的呈现特性与 Label 控件的特定于设备的呈现特性完全相同。但是,验证程序的 StyleReference 属性最初设置为 。它将使用页 Stylesheet 控件中的错误样式,如果没有,则使用系统默认样式表。
示例
此示例中的代码确保用户输入的数字是偶数。
[Visual Basic]
<%@ 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>

