UseValidation
on the grid
<DataGrid Data=@ServiceTypes Sortable Striped Responsive Bordered Editable Hoverable
UseValidation ShowValidationsSummary=@false
ShowPager ShowValidationFeedback
TItem="ServiceTypeListItemModel"
EditMode=@DataGridEditMode.Inline
RowInserting=@CreateAsync>
<ChildContent>
<DataGridInlineEditButtons />
</ChildContent>
<DataGridColumns>
<DataGridColumn Editable SortDirection=@SortDirection.Ascending Caption="Name" Field=@nameof(ServiceTypeListItemModel.Name)>
<EditTemplate>
<TextEdit Text=@((string)context.CellValue) TextChanged=@(x => context.CellValue = x)>
<Feedback><Blazorise.ValidationError /></Feedback>
</TextEdit>
</EditTemplate>
</DataGridColumn>
</DataGridColumns>
</DataGrid>
private List<ServiceTypeListItemModel> ServiceTypes = new();
public class ServiceTypeListItemModel
{
public Guid Id { get; set; }
[Required]
[MinLength(2)]
public string Name { get; set; } = "";
}
EditTemplate
? <EditTemplate>
<Validation>
<TextEdit Text=@((string)context.CellValue) TextChanged=@(x => context.CellValue = x)>
<Feedback><Blazorise.ValidationError /></Feedback>
</TextEdit>
</Validation>
</EditTemplate>
<EditTemplate>
<Validation>
<TextEdit Text=@((string)context.CellValue) TextChanged=@(x => context.CellValue = x) TextExpression="@(()=>context.Item.FirstName)">
<Feedback><Blazorise.ValidationError /></Feedback>
</TextEdit>
</Validation>
</EditTemplate>
TextExpression="@(()=>context.Item.FirstName)"
will target the wrong model
<Validation Validator="ValidationRule.IsNotEmpty">
DataGrid.ValidationItem
and then it will be possible