共用方式為


CustomValidator 控制項

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 伺服器控制項 | 控制項參考