📜  ASP.NET Core 使用 ValidationScriptsPartial - C# (1)

📅  最后修改于: 2023-12-03 15:29:29.877000             🧑  作者: Mango

ASP.NET Core 使用 ValidationScriptsPartial - C#

ValidationScriptsPartial是ASP.NET Core内置的一个部分视图,可以帮助我们在客户端进行表单验证。本文将介绍如何在ASP.NET Core应用程序中使用ValidationScriptsPartial。

1. 引入视图

要使用ValidationScriptsPartial,我们需要在视图中引入它。可以在需要验证的表单所在的视图中添加以下代码:

@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }

这会在表单视图中引入ValidationScriptsPartial视图。

2. 启用客户端验证

下一步是启用客户端验证。在表单标签中添加一个属性:data-val="true"。例如:

<form asp-action="Create" method="post" data-val="true">
    <!-- 表单代码 -->
</form>

在应用程序的startup.cs文件中添加以下行,启用启用客户端验证:

services.AddMvc().AddViewOptions(options => 
    options.HtmlHelperOptions.ClientValidationEnabled = true);

这会启用客户端验证功能,使ValidationScriptsPartial在表单中加载所需的JavaScript文件。

3. 验证表单

现在,我们已经完成了在应用程序中集成ValidationScriptsPartial的准备工作。接下来,我们需要验证表单是否有效。

首先,我们需要在视图模型中添加数据注释,以指定验证规则。例如:

public class ExampleViewModel
{
    [Required]
    public string Name { get; set; }

    [Range(0, 10)]
    public int Quantity { get; set; }
}

接下来,将表单绑定到视图模型。在表单视图中,我们可以使用TagHelper来绑定表单控件。例如:

<form asp-action="Create" method="post" data-val="true">
    <div class="form-group">
        <label asp-for="Name"></label>
        <input asp-for="Name" class="form-control" />
        <span asp-validation-for="Name" class="text-danger"></span>
    </div>
    <div class="form-group">
        <label asp-for="Quantity"></label>
        <input asp-for="Quantity" class="form-control" />
        <span asp-validation-for="Quantity" class="text-danger"></span>
    </div>
</form>

最后,在控制器中添加以下代码来处理表单验证:

[HttpPost]
public IActionResult Create(ExampleViewModel model)
{
    if (!ModelState.IsValid)
    {
        return View(model);
    }

    // 操作逻辑

    return RedirectToAction("Index");
}

这会检查模型是否有效。如果模型无效,将返回视图并显示验证错误消息。否则,将进行操作逻辑。

以上就是ASP.NET Core使用ValidationScriptsPartial进行表单验证的步骤!

结论

ValidationScriptsPartial是ASP.NET Core的一个非常有用的特性。它可以帮助我们在客户端进行表单验证,从而提高了应用程序的效率和可用性。虽然它很容易使用,但仍需要一些准备工作。希望本文能够帮助您了解如何在ASP.NET Core应用程序中使用ValidationScriptsPartial,并开始添加表单验证到您的应用程序中!