Controllo ValidationSummary
Questo controllo consente di visualizzare un riepilogo di tutti gli errori di convalida verificatisi durante il rendering di un form.
Sintassi dei controlli mobili
Le proprietà necessarie, le impostazioni predefinite e gli elementi dalle funzionalità di codice sono in grassetto.
<mobile:ValidationSummaryrunat="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"
Wrapping="{NotSet|Wrap|NoWrap}"
FormToValidate="FormID"
BackLabel="[BackLabel]">
</mobile:ValidationSummary>
Regole di contenimento
I controlli descritti di seguito possono contenere un controllo ValidationSummary.
Controllo | Commenti |
---|---|
System.Web.UI.MobileControls.Form | Può contenere un numero indefinito di controlli ValidationSummary. |
System.Web.UI.MobileControls.Panel | Può contenere un numero indefinito di controlli ValidationSummary. |
Nel controllo ValidationSummary non possono essere contenuti ulteriori controlli.
Modelli di dispositivo
Nessuno.
Comportamento specifico del dispositivo
Per tutti i rendering la proprietà StyleReference è inizialmente impostata su Error. Il controllo utilizzerà lo stile di errore nel foglio di stile della pagina o, nel caso questo non sia presente, utilizzerà il foglio di stile predefinito del sistema.
Il controllo ValidationSummary esegue il rendering visualizzando innanzitutto il valore della proprietà HeaderText, quindi un elenco HTML o WML caratterizzato dai seguenti elementi:
- Le proprietà ErrorMessage di ogni convalida nel form non valido.
- Un controllo Link che viene rappresentato con il form non valido come la relativa destinazione e con il testo del valore della proprietà BackLabel.
Se il form che si desidera convalidare è valido su tutti i dispositivi, il controllo ValidationSummary non eseguirà alcun rendering.
Linguaggio del dispositivo | Descrizione del comportamento |
---|---|
HTML | Lo stile corrente del controllo viene applicato senza modifiche a tutti i rendering HTML. |
WML | Ogni proprietà ErrorMessage è preceduta da "- ", ovvero da un trattino seguito da una spazio. |
Esempio
In questo esempio vengono descritti i due metodi di visualizzazione degli errori di convalida, uno inline e l'altro in cui viene utilizzato il formato di riepilogo.
<%@ 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 Summary_Click(sender As Object, e As EventArgs)
' Hide or show Back link. This is because ValidationSummary
' doesn't provide the Back link when validation succeeds.
BackLink.Visible = Page.IsValid
ActiveForm = Form2
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:RangeValidator runat="server"
ControlToValidate="number"
Type="Integer"
MaximumValue="5"
MinimumValue="1"
ErrorMessage="The input number should be with in the range 1 - 5.">
Please enter a number of value 1 - 5
</mobile:RangeValidator>
<mobile:RegularExpressionValidator runat="server"
ControlToValidate="number"
ValidationExpression="\b\d{1}\b"
ErrorMessage="The input number should be a single digit.">
Please enter a single digit
</mobile:RegularExpressionValidator>
<mobile:CustomValidator ControlToValidate="number"
OnServerValidate="ServerValidate"
ErrorMessage="The input number should be even."
runat="server">
Please enter an even number
</mobile:CustomValidator>
<mobile:Label runat="server">
Please enter an even number between 1 to 5
</mobile:Label>
<mobile:TextBox id="number" runat="server"/>
<mobile:Command runat="server">
Show errors inline if not valid
</mobile:Command>
<mobile:Command OnClick="Summary_Click" runat="server">
Show errors in summary
</mobile:Command>
</mobile:Form>
<mobile:Form id="Form2" runat="server">
<mobile:Label runat="server">
Your input is valid if no error is shown below.
</mobile:Label>
<mobile:ValidationSummary FormToValidate="Form1"
HeaderText="Error listed below:"
runat="server"/>
<mobile:Link id="BackLink" runat="server"
NavigateURL="#Form1"
Visible="False"
Text="Back" />
</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 Summary_Click(Object sender, EventArgs e)
{
// Hide or show Back link. This is because ValidationSummary
// doesn't provide the Back link when validation succeeds.
BackLink.Visible = 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:RangeValidator runat="server"
ControlToValidate="number"
Type="Integer"
MaximumValue="5"
MinimumValue="1"
ErrorMessage="The input number should be with in the range 1 - 5.">
Please enter a number of value 1 - 5
</mobile:RangeValidator>
<mobile:RegularExpressionValidator runat="server"
ControlToValidate="number"
ValidationExpression="\b\d{1}\b"
ErrorMessage="The input number should be a single digit.">
Please enter a single digit
</mobile:RegularExpressionValidator>
<mobile:CustomValidator ControlToValidate="number"
OnServerValidate="ServerValidate"
ErrorMessage="The input number should be even."
runat="server">
Please enter an even number
</mobile:CustomValidator>
<mobile:Label runat="server">
Please enter an even number between 1 to 5
</mobile:Label>
<mobile:TextBox id="number" runat="server"/>
<mobile:Command runat="server">
Show errors inline if not valid
</mobile:Command>
<mobile:Command OnClick="Summary_Click" runat="server">
Show errors in summary
</mobile:Command>
</mobile:Form>
<mobile:Form id="Form2" runat="server">
<mobile:Label runat="server">
Your input is valid if no error is shown below.
</mobile:Label>
<mobile:ValidationSummary FormToValidate="Form1"
HeaderText="Error listed below:"
runat="server"/>
<mobile:Link id="BackLink" runat="server"
NavigateURL="#Form1"
Visible="False"
Text="Back" />
</mobile:Form>
Vedere anche
Classe ValidationSummary | Membri della classe ValidationSummary | Controllo ValidationSummary | Riferimenti ai controlli