【问题标题】:C# Data Annotations not showing correct Display NameC# 数据注释未显示正确的显示名称
【发布时间】:2020-09-01 14:11:43
【问题描述】:

这是我的模型类中的一个 sn-p

    [Required]
    [DataType(DataType.Date)]
    [Display(Name = "Birth Day")]
    public DateTime customerBirthDate { get; set; } = DateTime.Today;

这是我剃须刀文件中的一个 sn-p

                <div class="wrap-input100 validate-input">
                    <span class="label-input100">Date of Birth</span>
                    <InputDate class="input100" id="birthday" name="birthday" @bind-Value="CurrentCustomerSubmission.customerBirthDate" />
                    <ValidationMessage For="@(() => Model.customerBirthDate)" />
                </div>

当我从 InputDate 字段中删除日期时,我希望它会说

“生日字段必须是日期。”

但我实际看到的是

“customerBirthDate 字段必须是日期。”

我在 Chrome 中测试过

【问题讨论】:

    标签: c# razor model blazor data-annotations


    【解决方案1】:

    你可以这样做

    [Required]
    [DataType(DataType.Date,ErrorMessage = "The Birth Day field must be a date.")]
    [Display(Name = "Birth Day")]
    public DateTime customerBirthDate { get; set; } = DateTime.Today;
    

    【讨论】:

    • 我无法让它在 Blazor Server 3.1 中工作。
    【解决方案2】:
        [Required(ErrorMessage ="{0} field  is Required"]
        [DataType(DataType.Date,ErrorMessage = "{0} field must be a date.")]
        [Display(Name = "Birth Day")]
        public DateTime customerBirthDate { get; set; } = DateTime.Today;
    

    您可以为所需属性使用错误消息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 2019-03-27
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      相关资源
      最近更新 更多