XmlValidatingEventArgs.ReportError, méthode (XPathNavigator, Boolean, String)
Crée un objet FormError qui contient des informations d'erreur personnalisées avec les valeurs spécifiées et les ajoute à l'objet FormErrorCollection du formulaire.
Espace de noms : Microsoft.Office.InfoPath
Assembly : Microsoft.Office.InfoPath (dans Microsoft.Office.InfoPath.dll)
Syntaxe
'Déclaration
Public MustOverride Sub ReportError ( _
node As XPathNavigator, _
siteIndependent As Boolean, _
message As String _
)
'Utilisation
Dim instance As XmlValidatingEventArgs
Dim node As XPathNavigator
Dim siteIndependent As Boolean
Dim message As String
instance.ReportError(node, siteIndependent, _
message)
public abstract void ReportError(
XPathNavigator node,
bool siteIndependent,
string message
)
Paramètres
- node
Type : System.Xml.XPath.XPathNavigator
XPathNavigator placé sur le nœud qui contient les données auxquelles est associée l'erreur.
- siteIndependent
Type : System.Boolean
Définit la condition relative à la suppression automatique de l'objet FormError. Si la valeur est true, l'objet FormError est supprimé lorsqu'une modification survient sur l'un des nœuds correspondant à l'expression XPath associée à la propriété Match de cet objet d'événement. Si la valeur est false, l'objet FormError est supprimé la prochaine fois que le formulaire est validé, uniquement si le nœud renvoyé par la propriété Site de cet objet événement a été modifié.
- message
Type : System.String
Texte à utiliser pour le message d'erreur court.
Exceptions
Exception | Condition |
---|---|
ArgumentException | Les paramètres transmis à cette méthode ne sont pas valides. |
ArgumentNullException | Les paramètres transmis à cette méthode sont une référence NULL (Nothing dans Visual Basic). |
Remarques
La méthode ReportError est utilisée pour créer une erreur personnalisée pour une erreur qui s'est produite pendant l'événement Validating.
Lorsque la méthode ReportError est appelée, InfoPath crée un objet FormError et l'ajoute à la collection FormErrorCollection du formulaire actif. Les objets FormError sont supprimés de la collection lorsque la contrainte de validation redevient valide. Dans certains cas, ils peuvent être explicitement supprimés à l'aide des méthodes Delete ou DeleteAll.
Les objets FormError peuvent également être créés à l'aide de la méthode Add de la classe FormErrorCollection.
Notes
Les erreurs indépendantes d'un site doivent être utilisées lorsque vous souhaitez que les erreurs s'appliquent à tous les nœuds du même type. Si vous souhaitez que l'erreur s'applique à un nœud spécifique, utilisez des erreurs dépendantes d'un site.
Ce membre est accessible uniquement par les formulaires qui s’exécutent dans le même domaine que le formulaire ouvert ou par les formulaires qui disposent d’autorisations valables pour plusieurs domaines.
Ce type ou ce membre est accessible à partir du code exécuté dans les formulaires ouverts dans Microsoft InfoPath Filler ou dans un navigateur Web.
Exemples
Dans l'exemple suivant, la propriété Site que la classe XmlValidatingEventArgs hérite de la classe XmlEventArgs est utilisée pour vérifier la valeur du nœud qui a renvoyé l'événement Validating. Si la validation des données échoue, la méthode ReportError est utilisée pour créer une erreur personnalisée.
public void field1_Validating(object sender, XmlValidatingEventArgs e)
{
if (e.Site.InnerXml != String.Empty)
{
int fieldValue = int.Parse((e.Site.InnerXml));
if (fieldValue > 50)
{
e.ReportError(e.Site,
false,
"Quantity cannot exceed 50.");
}
if (fieldValue < 0)
{
e.ReportError(e.Site,
false,
"Quantity cannot be less than 0.");
}
}
}
Public Sub field1_Validating(ByVal sender As Object , _
ByVal e As XmlValidatingEventArgs)
If (e.Site.InnerXml <> String.Empty) Then
Integer fieldValue = Integer.Parse((e.Site.InnerXml))
If (fieldValue > 50) Then
e.ReportError(e.Site,
false,
"Quantity cannot exceed 50.")
End If
If (fieldValue < 0) Then
e.ReportError(e.Site,
false,
"Quantity cannot be less than 0.")
End If
End If
End Sub