# Using a Pair Validator

Learn how to create a validator for matching characters and take action on invalid values with PairCharValidator class and CellStyleNotify notification type.

## Content

You can create a validator that requires matching characters. This can be useful if you enter text that requires matching brackets.
A validation error occurs if the value is not valid. You can also create an action, such as adding a backcolor to the cell, that lets the user know the value is invalid.
Use the **PairCharValidator** class to create the validator. Specify a notification type such as [CellStyleNotify](/spreadnet/api/latest/online-win/FarPoint.Win.Spread/FarPoint.Win.Spread.CellStyleNotify.html). Then use the [AddValidators](/spreadnet/api/latest/online-win/FarPoint.Win.Spread/FarPoint.Win.Spread.SheetView.AddValidators.html) method to add the validator to a cell range.
The following image displays a cell with an invalid backcolor.
![Pair Validator](https://cdn.mescius.io/document-site-files/images/2238e618-a1fb-45a6-9ce5-9a4157bd2931/images/pairvalid.png)

## Using Code

The following example requires matching parentheses to be valid.

```csharp
//The error backcolor is displayed if the text contains a single, non-matching parenthesis
FarPoint.Win.Spread.CellStyleNotify cnotify = new FarPoint.Win.Spread.CellStyleNotify();
cnotify.InvalidCellStyle.BackColor = Color.Yellow;
FarPoint.Win.Spread.PairChar pair = new FarPoint.Win.Spread.PairChar();
pair.Left = '(';
pair.Right = ')';
FarPoint.Win.Spread.PairCharValidator pairvalid = new FarPoint.Win.Spread.PairCharValidator();
pairvalid.PairChars.Add(pair);
pairvalid.Actions.Add(cnotify);
fpSpread1.Sheets[0].AddValidators(new FarPoint.Win.Spread.Model.CellRange(1, 1, 1, 1), pairvalid);
```

```vbnet
'The error backcolor is displayed if the text contains a single, non-matching parenthesis
Dim cnotify As New FarPoint.Win.Spread.CellStyleNotify()
cnotify.InvalidCellStyle.BackColor = Color.Yellow
Dim pair As New FarPoint.Win.Spread.PairChar()
pair.Left = "("
pair.Right = ")"
Dim pairvalid As New FarPoint.Win.Spread.PairCharValidator()
pairvalid.PairChars.Add(pair)
pairvalid.Actions.Add(cnotify)
fpSpread1.Sheets(0).AddValidators(New FarPoint.Win.Spread.Model.CellRange(1, 1, 1, 1), pairvalid)
```

## See Also

[Using a Cell Comparison Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellcomparevalidator)
[Using a Character Format Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellcharformatv)
[Using a String Comparison Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellcomparestring)
[Using a Value Comparison Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellcomparevalue)
[Using an Encoding Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellencodingvalid)
[Using the Exclude List Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellexcludevalidator)
[Using the Include List Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellincludevalidate)
[Using the Range Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellrangevalidator)
[Using a Regular Expression Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellregexpression)
[Using a Required Field Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellrequiredvalid)
[Using a Required Type Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellrequiretypev)
[Using a Surrogate Character Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-cellsurrogate)
[Using a Text Length Validator](/spreadnet/docs/latest/online-win/overview/spwin-devguide/spwin-interactcell/spwin-cellvalid/spwin-cellvalidation/spwin-celltextlvalid)