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

Blazor 8.0使用DataAnnotationValidator与ValidationSummary遇验证异常

问题分析与解决

你遇到的问题是因为MessageModel中的Message属性未初始化,默认值为null,而[Required]验证规则会将null判定为无效值,即使输入了符合要求的内容,验证系统仍会触发必填错误。

解决步骤

修改MessageModel.cs,给Message属性设置初始空字符串:

namespace BlazorServerMessageWall.Models;

public class MessageModel
{
    [Required]
    [StringLength(10, MinimumLength = 5)]
    public string Message { get; set; } = string.Empty;
}

原因说明

在Blazor 8默认启用的可空引用类型模式下,未初始化的string属性会被标记为非可空但实际值为null。DataAnnotationsValidator在验证时会优先检查属性是否为null,即使你在输入框中填写了内容,初始的null状态可能导致验证上下文未正确更新,从而持续触发必填错误。给属性设置初始空字符串后,模型实例化时Message就有了有效值,输入内容绑定后验证系统能正确识别属性状态。

另外,你已通过@_Imports.razor添加@using BlazorServerMessageWall.Models引入命名空间,这一步无需额外修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:43:18