You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改MudBlazor DatePicker的「Not a valid date time」错误提示?

解决MudDatePicker自定义日期验证错误提示的问题

方案1:直接使用控件内置的ParseErrorMessage属性(最简便)

MudDatePicker专门提供了ParseErrorMessage属性,用于替换默认的「Not a valid date time」解析错误提示,无需额外验证逻辑。

修改你的代码,移除原来的Error和ErrorText属性,添加ParseErrorMessage:

<MudDatePicker ReadOnly="@(!_editCustomerInProgress)" Label="Birth date" Clearable="true" @bind-Date="CustomerDto.BirthDate"
   DateFormat="yyyy.MM.dd" Placeholder="yyyy.mm.dd" Editable=true Mask="@(new DateMask("yyyy.MM.dd"))"
   Required="@_editCustomerInProgress" RequiredError="It is required" For="@(() => CustomerDto.BirthDate)" 
   ParseErrorMessage="请输入有效的出生日期" />

当用户输入的日期格式不符合要求时,就会显示你自定义的提示文本。

方案2:通过FluentValidation实现自定义验证(解决之前未触发的问题)

如果想用FluentValidation统一处理验证,需确保配置正确,避免控件内置验证冲突:

  1. 注册FluentValidation服务(在Program.cs中):
builder.Services.AddFluentValidationAutoValidation();
builder.Services.AddFluentValidationClientsideAdapters();
  1. 创建CustomerDto的验证器:
public class CustomerDtoValidator : AbstractValidator<CustomerDto>
{
    public CustomerDtoValidator()
    {
        // 处理必填验证(可添加生效条件)
        RuleFor(x => x.BirthDate)
            .NotEmpty()
            .WithMessage("出生日期为必填项")
            .When(x => _editCustomerInProgress);

        // 处理日期有效性验证
        RuleFor(x => x.BirthDate)
            .Must(date => date.HasValue && date.Value != default(DateTime))
            .WithMessage("请输入有效的出生日期");
    }
}
  1. 修改MudDatePicker代码:移除控件的Required和RequiredError属性,让FluentValidation接管验证:
<MudDatePicker ReadOnly="@(!_editCustomerInProgress)" Label="Birth date" Clearable="true" @bind-Date="CustomerDto.BirthDate"
   DateFormat="yyyy.MM.dd" Placeholder="yyyy.mm.dd" Editable=true Mask="@(new DateMask("yyyy.MM.dd"))"
   For="@(() => CustomerDto.BirthDate)" />

配置完成后,FluentValidation的规则会正常触发,错误提示显示自定义内容。

方案3:完全移除错误提示

如果不需要显示任何解析错误提示,只需将ParseErrorMessage设为空字符串:

<MudDatePicker ... ParseErrorMessage="" />

内容的提问来源于stack exchange,提问作者sada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 08:43:24