---
title: "control(_:isValidObject:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nscontroltexteditingdelegate/control(_:isvalidobject:)"
---

# control(_:isValidObject:)

Invoked when the insertion point leaves a cell belonging to the specified control, but before the value of the cell’s object is displayed.

## Declaration

```swift
@MainActor optional func control(_ control: NSControl, isValidObject obj: Any?) -> Bool
```

## Parameters

- `control`: The control whose object value needs to be validated.
- `obj`: The object value to validate.

## Return Value

Return Value true if you want to allow the control to display the specified value; otherwise, false to reject the value and return the cursor to the control’s cell.

## Discussion

Discussion This method gives the delegate the opportunity to validate the contents of the control’s cell (or selected cell). In validating, the delegate should check the value in the object parameter and determine if it falls within a permissible range, has required attributes, accords with a given context, and so on. Examples of objects subject to such evaluations are an NSDate object that should not represent a future date or a monetary amount (represented by an NSNumber object) that exceeds a predetermined limit.

## See Also

### Related Documentation

- [NSControlTextEditingDelegate](appkit/nscontroltexteditingdelegate.md)

### Validating a Control’s Value

- [control(_:didFailToValidatePartialString:errorDescription:)](appkit/nscontroltexteditingdelegate/control(_:didfailtovalidatepartialstring:errordescription:).md)
