学习ASP.NET Core Blazor编程系列九——服务器端校验( 二 )


学习ASP.NET Core Blazor编程系列九——服务器端校验

文章插图
第十二,如果改用 OnValidSubmit 和 OnInvalidSubmit这两个事件,则如果校验不通过则会触发OnInvalidSubmit事件,反之如果校验通过,则会触发OnValidSubmit事件 。
@page "/AddBook"@using BlazorAppDemo.Models@using Microsoft.EntityFrameworkCore@inject IDbContextFactory<BookContext> dbFactory<h3>AddBook</h3><EditForm Model=@addBook OnValidSubmit=@ValidSubmitInfo  OnInvalidSubmit=@InvalidSubmitInfo>    <DataAnnotationsValidator />    <ValidationSummary />    <div>@Message</div>    <p> 图书名称:    <InputText @bind-Value=https://www.huyubaike.com/biancheng/addBook.Name>

作者:

出版日期:

价格:

类型:

总页数:

库存数量:

已租数量:

@code { private string Message = string.Empty; private static BookContext _context; private Models.Book addBook = new Book(); protected override Task OnInitializedAsync() { _context = dbFactory.CreateDbContext(); return base.OnInitializedAsync(); } private void ValidSubmitInfo(EditContext editContext) { if (editContext.Model is Book addBook) { Message = "你编辑的不是图书信息,校验通过 。正在保存 。" } } private void InvalidSubmitInfo(EditContext editContext) { if (editContext.Model is Book addBook) { Message = "你编辑的图书信息校验不通过,请修改 。"; } } }第十三,在Visual Studio 2022的菜单栏上,找到“调试—》开始调试”或是按F5键,Visual Studio 2022会生成BlazorAppDemo应用程序,并在浏览器中打开Home页面,我们使用鼠标点击左边的菜单栏上的“添加图书”菜单项,然后使用鼠标左键点击“保存”按钮,由于我们没有输入正确的数据,没有通过校验规则,页面重新显示表单(如果我们填写过数据,则会显示我们刚才填写的数据),同时页面上将会提示我们要输入的数据的提示信息 。如下图 。在图中红框处,显示了我们在后台处理之后,返回到前端的提示信息 。
学习ASP.NET Core Blazor编程系列九——服务器端校验

文章插图

经验总结扩展阅读