ContentControlBase.Validating Event
Occurs when the contents of the content control are being validated.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word (in Microsoft.Office.Tools.Word.dll)
Syntax
'Declaration
Event Validating As CancelEventHandler
event CancelEventHandler Validating
Remarks
The Validating event is raised when the control loses focus. Handle the Validating event to determine whether the text in the content control is valid, according to criteria that you choose. For example, if you have a content control that contains a phone number, you can verify that it contains only the appropriate characters (numbers, parentheses, hyphens). If the contents are not valid, you can cancel the event and return the focus to the control by setting the Cancel property of the CancelEventArgs parameter of the event handler to true. The practical effect is that the user cannot leave the control until the text is valid.
To run code after the content control has been successfully validated, handle the Validated event.
For more information about handling events, see Consuming Events.
Examples
The following code example demonstrates event handlers for the Validating and Validated events. After the end user changes the text in the content control, the event handler for the Validating event uses a regular expression to verify that the text does not contain integers.
This example assumes that the document contains a PlainTextContentControl named plainTextContentControl1. To use this code, paste it into the ThisDocument class in your project. For C#, you must also attach the event handlers to the Validated and Validating events of plainTextContentControl1.
This example is for a document-level customization.
Private Sub plainTextContentControl1_Validating(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) _
Handles PlainTextContentControl1.Validating
Dim control As Microsoft.Office.Tools.Word.PlainTextContentControl = _
TryCast(sender, Microsoft.Office.Tools.Word.PlainTextContentControl)
If control IsNot Nothing Then
Dim regex As New System.Text.RegularExpressions.Regex("\d")
If regex.IsMatch(control.Text) Then
MessageBox.Show("Invalid name. Names cannot contain integers.")
e.Cancel = True
End If
End If
End Sub
Private Sub plainTextContentControl1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles PlainTextContentControl1.Validated
MessageBox.Show("The name is valid.")
End Sub
void plainTextContentControl1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
Microsoft.Office.Tools.Word.PlainTextContentControl control =
sender as Microsoft.Office.Tools.Word.PlainTextContentControl;
if (control != null)
{
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\d");
if (regex.IsMatch(control.Text))
{
MessageBox.Show("Invalid name. Names cannot contain integers.");
e.Cancel = true;
}
}
}
void plainTextContentControl1_Validated(object sender, EventArgs e)
{
MessageBox.Show("The name is valid.");
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.