FormHelper 开源项目教程
项目介绍
FormHelper 是一个用于 ASP.NET Core MVC 的表单和验证辅助库。它可以帮助开发者创建 AJAX 表单和验证,而无需编写任何 JavaScript 代码。FormHelper 能够将服务器端验证转换为客户端验证,并且兼容 Fluent Validation。
项目快速启动
安装
使用 Nuget Package Manager 安装 FormHelper:
Install-Package FormHelper
或者使用 dotnet CLI:
dotnet add package FormHelper
配置
在 Startup.cs
文件中进行配置:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews()
.AddFormHelper(options =>
{
options.CheckTheFormFieldsMessage = "Your custom message";
options.RedirectDelay = 6000;
options.EmbeddedFiles = true;
options.ToastrDefaultPosition = ToastrPosition.TopFullWidth;
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseFormHelper();
}
视图文件
在视图文件中使用 FormHelper:
<form asp-formhelper="true" asp-controller="Home" asp-action="Save">
<!-- 表单内容 -->
</form>
控制器
在控制器中处理表单提交:
[FormValidator]
public IActionResult Save(FormViewModel viewModel)
{
// 处理表单提交
return FormResult.CreateSuccessResult("Product saved");
}
应用案例和最佳实践
案例一:基本表单提交
<form asp-formhelper="true" asp-controller="Home" asp-action="Save">
<input type="text" name="name" />
<input type="submit" value="Submit" />
</form>
案例二:使用 AJAX 提交表单
<form asp-formhelper="true" asp-controller="Home" asp-action="Save" asp-dataType="Json">
<input type="text" name="name" />
<input type="submit" value="Submit" />
</form>
最佳实践
- 使用嵌入文件:在配置中启用
EmbeddedFiles
选项,以使用嵌入的 FormHelper 文件。 - 自定义消息:在配置中设置
CheckTheFormFieldsMessage
选项,以自定义验证消息。 - 延迟重定向:设置
RedirectDelay
选项,以控制成功提交后的重定向延迟时间。
典型生态项目
FormHelper 可以与以下项目结合使用,以增强表单处理能力:
- Fluent Validation:用于复杂的验证逻辑。
- Toastr:用于显示通知消息。
- jQuery Validation:用于客户端验证。
通过结合这些项目,可以构建出更加强大和用户友好的表单处理系统。