Data Validation in DevExpress Grid View for .NET MAUI
- 3 minutes to read
The grid allows you to validate new values in in-place cell editors or edit forms, indicate errors, and prevent saving invalid data to the data source.
Validate Data in In-Place Mode
In in-place edit mode, you can handle the following events to validate user input.
- DataGridView.ValidateCell
- Occurs after a user changes a cell value in the in-place editor and attempts to select another cell.
- DataGridView.ValidationError
- Occurs when a value in the in-place cell editor fails validation or when it cannot be saved to a data source.
For more information about in-place edit mode, refer to the following help topic: Edit Cell Values in In-Place Mode.
Example: Validate Cell Data
This example shows how to validate a new cell value when a user modified it in an in-place cell editor and moves focus to another cell.
The DataGridView instance is bound to a collection of orders, and its Quantity column allows users to enter positive numbers only. If a new cell value does not pass validation, an error message is displayed and the user cannot move focus to another cell until the error is corrected.
Follow the steps below to validate cell values:
- Specify Validation Rules
Subscribe to the DataGridView.ValidateCell event, and implement validation logic in the event handler.
Use the event parameter’s OldValue and NewValue properties to get the cell’s original and new value (the value that should be validated). The FieldName and RowHandle properties allow you to obtain the column and row that contain the cell whose value is being edited.
If a cell value fails validation, set the ErrorContent property to the string that describes the validation error. A user cannot move focus to another cell until the error is fixed and theErrorContent
string is empty. - Indicate Errors
Handle the DataGridView.ValidationError event to provide a response to entering invalid data (for example, show validation error message to users). This event parameter’s ValidationErrorEventArgs.ErrorContent property contains the error description assigned to the ValidateCellEventArgs.ErrorContent property in the ValidateCell event handler.
<dxg:DataGridView x:Name="grid" ItemsSource="{Binding Orders}"
ValidateCell="Grid_ValidateCell"
ValidationError="Grid_ValidationError">
<!-- ... -->
</dxg:DataGridView>
using Microsoft.Maui.Controls;
using DevExpress.Maui.DataGrid;
// ...
private void Grid_ValidateCell(object sender, ValidateCellEventArgs e) {
if (e.FieldName == "Quantity" && (decimal)e.NewValue <= 0)
e.ErrorContent = "The value must be positive.";
}
private void Grid_ValidationError(object sender, ValidationErrorEventArgs e) {
DisplayAlert("Input Error", e.ErrorContent, "OK");
}
Validate Date in Edit Forms
Handle the ValidateAndSave event to validate data a user entered in CRUD forms. DataGridView runs validation mechanisms after a user taps the Save button in the CRUD form in a built-in detail form, or after you call the DetailEditFormViewModel.SaveAsync() method for a custom form.
If you use the DataFormView component to implement custom CRUD forms, you can use its validation mechanisms. They include data annotations, validation events, and error notification interfaces.
For more information about validation in CRUD forms, refer to the following help topic: Validate and Save Data