Controllo CustomValidator
Il controllo CustomValidator consente agli sviluppatori di fornire un metodo personalizzato per convalidare un altro campo del controllo.
Sintassi dei controlli mobili
Le proprietà necessarie, le impostazioni predefinite e gli elementi dalle funzionalità di codice sono in grassetto.
<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>
Regole di contenimento
I controlli descritti di seguito possono contenere un controllo CustomValidator.
Controllo | Commenti |
---|---|
System.Web.UI.MobileControls.Form | Può contenere un numero indefinito di controlli CustomValidator. |
System.Web.UI.MobileControls.Panel | Può contenere un numero indefinito di controlli CustomValidator. |
Nel controllo CustomValidator non possono essere contenuti altri controlli.
Modelli di dispositivo
Nessuno.
Comportamento specifico del dispositivo
Quando viene eseguito il rendering di una convalida, la natura specifica del dispositivo del rendering della convalida è esattamente identica a quella del rendering specifico del dispositivo di un controllo Label. Tuttavia, la proprietà StyleReference per una convalida è inizialmente impostata su Error. Tale proprietà utilizzerà lo stile di errore nel controllo Stylesheet della pagina o, nel caso questo non sia presente, utilizzerà il foglio di stile predefinito del sistema.
Esempio
Utilizzando il codice dell'esempio viene garantito che il numero immesso da un utente sia dispari.
<%@ 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>
Vedere anche
Classe CustomValidator | Membri della classe CustomValidator | CustomValidator Web Server Control | Riferimenti ai controlli