_DataDOMEventSink_Event.OnValidate イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
フォームの基になる XML ドキュメントへの変更が受け入れられた後、イベントが発生する前に OnAfterChange 発生します。
public:
event Microsoft::Office::Interop::InfoPath::SemiTrust::_DataDOMEventSink_OnValidateEventHandler ^ OnValidate;
event Microsoft.Office.Interop.InfoPath.SemiTrust._DataDOMEventSink_OnValidateEventHandler OnValidate;
member this.OnValidate : Microsoft.Office.Interop.InfoPath.SemiTrust._DataDOMEventSink_OnValidateEventHandler
Event OnValidate As _DataDOMEventSink_OnValidateEventHandler
イベントの種類
例
次の例では、 オブジェクトの プロパティをSiteDataDOMEventObject使用して、ノードの値をチェックします。 データ検証が失敗した場合、メソッドを ReportError(Object, String, Boolean, String, Int32, String) 使用してカスタム エラーが作成されます。
[InfoPathEventHandler(MatchPath="/my:myFields/my:field1", EventType=InfoPathEventType.<span class="label">OnValidate</span>)]
public void field1_<span class="label">OnValidate</span>(DataDOMEvent e)
{
if (int.Parse(e.Site.text) > 50)
{
e.ReportError(
e.Site,
"Invalid quantity. The total number of each type of block cannot exceed 50.",
false,
"",
2,
"modeless");
}
if (int.Parse(e.Site.text) < 0)
{
e.ReportError(
e.Site,
"Invalid quantity. The total number of each type of block cannot be less than 0.",
false,
"",
2,
"modeless");
}
}
次の例では、 オブジェクトの プロパティをSiteDataDOMEventObject使用して、ノードの値をチェックします。 データ検証が失敗した場合、メソッドを ReportError(Object, String, Boolean, String, Int32, String) 使用してカスタム エラーが作成されます。
[InfoPathEventHandler(MatchPath="/my:myFields/my:field1", EventType=InfoPathEventType.<span class="label">OnValidate</span>)]
public void field1_<span class="label">OnValidate</span>(DataDOMEvent e)
{
if (int.Parse(e.Site.text) > 50)
{
e.ReportError(
e.Site,
"Invalid quantity. The total number of each type of block cannot exceed 50.",
false,
"",
2,
"modeless");
}
if (int.Parse(e.Site.text) < 0)
{
e.ReportError(
e.Site,
"Invalid quantity. The total number of each type of block cannot be less than 0.",
false,
"",
2,
"modeless");
}
}
注釈
このイベント ハンドラーでは、ユーザーが操作を取り消すことはできません。
OnValidate イベント中は、フォームの基になっている XML ドキュメントは読み取り専用モードになります。
OnValidate イベントは、通常、エラーの処理やコレクションのErrorsCollection操作に使用されます。たとえば、新しいエラーの追加や既存のエラーの削除などです。
注: 場合によっては、フォームの基になる XML ドキュメントの変更に関連するイベントが複数回発生することがあります。 たとえば、既存のデータが変更されると、挿入と削除の操作が発生します。