Поделиться через


XmlValidatingEventArgs.ReportError Метод (XPathNavigator, Boolean, String, String, Int32)

Создает объект FormError, который содержит сведения о настраиваемых ошибках с указанными значениями, и добавляет его к объекту FormErrorCollection формы.

Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)

Синтаксис

'Декларация
Public MustOverride Sub ReportError ( _
    node As XPathNavigator, _
    siteIndependent As Boolean, _
    message As String, _
    messageDetails As String, _
    errorCode As Integer _
)
'Применение
Dim instance As XmlValidatingEventArgs
Dim node As XPathNavigator
Dim siteIndependent As Boolean
Dim message As String
Dim messageDetails As String
Dim errorCode As Integer

instance.ReportError(node, siteIndependent, message, messageDetails, errorCode)
public abstract void ReportError (
    XPathNavigator node,
    bool siteIndependent,
    string message,
    string messageDetails,
    int errorCode
)

Параметры

  • node
    Объект XPathNavigator, размещенный в узле, содержащем данные, с которыми связана ошибка.
  • siteIndependent
    Устанавливает условие автоматического удаления объекта FormError. Если задано значение true, объект FormError будет удален при изменениях любого узла, соответствующего выражению XPath, возвращенного свойством Match этого объекта события. Если задано значение false, объект FormError будет удален при следующей проверке формы, только если узел, возвращенный свойством Site этого объекта события, был изменен.
  • message
    Текст, который будет использоваться в кратком сообщении об ошибке.
  • messageDetails
    Текст, который будет использоваться в подробном сообщении об ошибке.
  • errorCode
    Число, которое будет использоваться в качестве кода ошибки.

Исключения

Тип исключения Условие

ArgumentException

Этому методу переданы недопустимые параметры.

ArgumentNullException

Этому методу переданы параметры .

Заметки

Метод ReportError используется для создания настраиваемой ошибки для ошибки, возникшей во время события Validating.

При вызове метода ReportError InfoPath создает объект FormError и добавляет его к объекту FormErrorCollection текущей формы. Объекты FormError удаляются из коллекции, когда условия проверки более недействительны. В некоторых случаях, их можно удалить явно с помощью метода Delete или DeleteAll.

Объекты FormError также можно создать с помощью метода Add класса FormErrorCollection.

ЗаметкаЗаметка

Независимые от узла ошибки следует использовать, только когда их нужно применить ко всем узлам одного типа. Если нужно применить ошибку к отдельному узлу, используйте зависимые от узла ошибки.

Доступ к этому члену имеется только у форм, запускаемых на том же домене, что и открытая в настоящий момент форма, или у форм, которым были присвоены междоменные разрешения.

Доступ к этому типу или члену имеется из программы, работающей в формах, открытых в Microsoft Office InfoPath 2007 или в веб-обозревателе.

Пример

В следующем примере свойство Site, которое класс XmlValidatingEventArgs наследует из класса XmlEventArgs, используется для проверки значения узла, создавшего событие Validating. Если не удается выполнить проверку данных, метод ReportError используется для создания настраиваемой ошибки.

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,
            "Invalid quantity",
            "The total number cannot exceed 50.",
            12345);

      }

      if (fieldValue < 0)
      {
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot be less than 0.",
            12346);
      }
   }
}
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,
            "Invalid quantity",
            "The total number cannot exceed 50.",
            12345)
      End If

      If (fieldValue < 0) Then
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot be less than 0.",
            12346)
      End If
   End If
End Sub

См. также

Ссылка

Класс XmlValidatingEventArgs
Члены XmlValidatingEventArgs
Пространство имен Microsoft.Office.InfoPath