Blazor 表单怎么提交

星降
发布: 2025-12-13 12:33:15
原创
951人浏览过
Blazor表单提交核心是EditForm组件+模型绑定+OnValidSubmit/OnInvalidSubmit事件处理。需用EditForm包裹表单并指定Model,绑定InputText等内置组件实现双向绑定,配合Data Annotations验证特性与DataAnnotationsValidator启用客户端验证,提交后可重置模型或导航。

blazor 表单怎么提交

Blazor 表单提交核心是靠 EditForm 组件 + 模型绑定 + 处理 OnValidSubmitOnInvalidSubmit 事件,不需要手动调用 JavaScript 或操作 DOM。

用 EditForm 包裹表单内容

EditForm 是 Blazor 内置的表单容器组件,它会自动跟踪模型状态、触发验证、处理提交逻辑。必须指定 Model 参数(通常是 C# 类实例),并绑定提交事件:

  • 使用 @onsubmit 是无效的——Blazor 表单不走原生 HTML 提交流程
  • 正确做法是设置 OnValidSubmit(验证通过时触发)和/或 OnInvalidSubmit(验证失败时触发)
  • 示例:<editform model="@user" onvalidsubmit="HandleValidSubmit"></editform>

绑定输入字段用 @bind

表单控件(如 InputTextInputNumberInputCheckbox)要和模型属性双向绑定:

  • 推荐用内置输入组件(如 <inputtext></inputtext>),它们自带验证反馈和变更通知
  • 若用原生 HTML 标签(如 <input>),需手动写 @bind@onchange,但会丢失验证集成能力
  • 确保模型属性有 public get/set,且类型匹配(例如 string 对应 InputText

验证模型要加 Data Annotations

Blazor 默认支持 .NET 的数据注解(Data Annotations),比如 [Required][EmailAddress][Range]

jQuery金融借款单提交表单
jQuery金融借款单提交表单

jQuery金融借款单提交表单,包含出借金额和日期的选择,且自动计算利息,非常的简单方便。

jQuery金融借款单提交表单 10
查看详情 jQuery金融借款单提交表单
  • 在模型类属性上添加特性,例如:[Required(ErrorMessage = "用户名必填")] public string Name { get; set; }
  • 配合 <dataannotationsvalidator></dataannotationsvalidator> 组件(放在 EditForm 内),才能启用客户端验证
  • 验证失败时,EditForm 不会触发 OnValidSubmit,而是触发 OnInvalidSubmit(可选)

提交后通常要重置或跳转

提交成功后,常见操作包括清空表单、显示提示、导航到新页面:

  • 重置表单:新建模型实例,例如 user = new User();,Blazor 会自动更新 UI
  • 显示成功消息:用 NavigationManager 导航,或用状态变量控制 <div> 显示提示<li>避免重复提交:可在按钮上加 <code>disabled 属性(绑定到布尔变量),提交中设为 true,完成后恢复
  • 基本上就这些。Blazor 表单提交是声明式、组件化、强类型验证的,关键在于用对 EditForm@bindDataAnnotationsValidator,而不是手写事件和取值逻辑。

以上就是Blazor 表单怎么提交的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号