Fluent Validation:单规则能否返回多条验证消息?Blazor显示问题
解决方案
FluentValidation 本身支持为单个字段返回多条验证错误消息,你的验证逻辑是可行的,问题出在 MudBlazor 的 MudDatePicker 组件默认只展示最后一条关联字段的错误消息。要显示所有错误,需要自定义组件的错误模板:
修改后的 MudDatePicker 代码
<MudDatePicker Label="Start Date" @bind-Date="employee.StartDate" Mask="@(new DateMask("MM/dd/yyyy"))" DateFormat="MM/dd/yyyy" ShowToolbar="false" Variant="Variant.Outlined" Margin="Margin.Dense" Editable="true" For="() => employee.StartDate"> <ErrorTemplate> @foreach (var error in context.ErrorMessages) { <MudText Color="Color.Error" Typo="Typo.Caption">@error</MudText> } </ErrorTemplate> </MudDatePicker>
额外注意事项
- 修正验证器代码中的笔误:
DateTime.Noew.Date改为DateTime.Now.Date,否则第一条验证逻辑不会触发。 - 通过
ErrorTemplate遍历context.ErrorMessages,可以将所有关联的验证错误消息逐一展示。
内容的提问来源于stack exchange,提问作者blue pink
相关产品推荐
相关产品推荐

