This documentation is archived and is not being maintained.

DataDOMEvent.Site Property (Microsoft.Office.Interop.InfoPath.SemiTrust)

Gets a reference to the XML Document Object Model (DOM) node where the data validation event is currently being processed.

This property is not CLS-compliant.  

Namespace: Microsoft.Office.Interop.InfoPath.SemiTrust
Assembly: Microsoft.Office.Interop.InfoPath.SemiTrust (in microsoft.office.interop.infopath.semitrust.dll)

IXMLDOMNode Site { get; }

After you have set a reference to the XML DOM node that the Site property returns, you can use any of the properties and methods that are supported by the XML DOM.

ImportantImportant:

This member can be accessed only by forms running in the same domain as the currently open form, or by forms that have been granted cross-domain permissions.

In the following example, the DataDOMEventObject object is used to check the value of the node using the Site property. If the data validation fails, the ReportError method is used to create a custom error.

[InfoPathEventHandler(MatchPath="/my:myFields/my:field1", EventType=InfoPathEventType.OnValidate)]
public void field1_OnValidate(DataDOMEvent e)
{
if(e.Site.text != "")
 {
  int quantity = int.Parse(e.Site.text.ToString());
  if(quantity > 50)
  {
   e.ReportError(e.Site, "Invalid quantity. The total number of each type of block cannot exceed 50.", false, "", 2,"modeless");
  }

  if(quantity < 0)
  {
   e.ReportError(e.Site, "Invalid quantity. The total number of each type of block cannot be less than 0.", false,"", 2,"modeless");    
  }
 }
}
Show: