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

FluentEditForm已填写数据仍提示未填写,代码问题求助

问题分析与解决方案

你的代码核心问题在于缺少模型层面的验证注解,导致Blazor的验证系统无法正确识别必填规则,具体细节和修复方式如下:

问题根源

你在FluentTextField上添加了Required参数,这仅会在UI上显示必填标记(如红色星号)并触发HTML5原生验证,但Blazor的DataAnnotationsValidator组件是基于模型类的数据注解特性来执行验证逻辑的。如果你的Movie实体类没有对对应属性添加[Required]注解,验证系统会判定字段未满足必填要求,即使你已经填写了内容。

修复步骤

修改Assignment10.Entities命名空间下的Movie实体类,为需要必填的属性添加[Required]数据注解:

using System.ComponentModel.DataAnnotations;

namespace Assignment10.Entities
{
    public class Movie
    {
        [Required(ErrorMessage = "请输入电影名称")]
        public string MovieName { get; set; }

        [Required(ErrorMessage = "请输入发行方")]
        public string Publisher { get; set; }

        [Required(ErrorMessage = "请输入电影描述")]
        public string MovieDescription { get; set; }
    }
}

额外检查点

  • 你的代码中@bind-Value的绑定逻辑是正确的,无需修改。
  • 如果使用可空字符串类型(string?),[Required]注解依然会生效,要求属性不能为null或空字符串。
  • 若仍存在验证冲突问题,可以移除FluentTextField上的Required参数,避免HTML5原生验证与Blazor模型验证逻辑互相干扰,仅依赖模型注解完成验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:57:17