我们 已经习惯了用Validator控件来验证我们在表单的输入,并通过ValidationSummary来输出我们为Validator控件设置的Error message。 比如,在ValidationSummary输出一个Link连接到对应的控件,而不是显示单纯的Error message。 比如在上图中,是一个典型的Login的Page。 在未输入任何值得前提下Click “Sign in”按钮,Error Message被显示在ValidationSummary上面。 不过和传统的Error message不同,显示在ValidationSummary上的实际上是两个链接,Click对应的Error message,光标会设置到对应的Textbox上。 这两个Array用于保存Page中的所有的ValidationSummary和Validator control。
如下面的代码片断所示,ValidationExtensions定义了一系列ValidationSummary方法重载。 ValidationSummary方法通过Key是否为空来判断ModelState包含的ModelError是否是针对属性。 ValidationSummary方法的参数excludePropertyErrors在两次调用中分别设置为False和True。 1: @Html.ValidationSummary(false, "excludePropertyErrors: false") 2: @Html.ValidationSummary(true, 我们可以看到当excludePropertyErrors参数被设置为True的时候,ValidationSummary中只会呈现出Key为空字符串的ModelState的错误消息。 ?
onValidSubmit"OnInvalidSubmit="onInvalidSubmit"><DataAnnotationsValidator></DataAnnotationsValidator><ValidationSummary ></ValidationSummary><divclass="form-inline">姓名:<InputText@bind-Value="stu.name"></InputText><ValidationMessageFor Console.WriteLine("ononValidSubmit");}publicvoidonInvalidSubmit(){Console.WriteLine("onInvalidSubmit");}}验证与错误处理通过ValidationSummary ValidationSummary验证结果摘要。验证不合法时,会在表单的顶部用html标签显示具体错误。 --显示验证摘要--><ValidationSummary/></EditForm>@code{privateUseruser=newUser();privatevoidHandleValidSubmit
ValidationSummary是用来显示ModelState字典中所有验证错误信息 (未经排序)。 它接收一个bool参数,当@Html.ValidationSummary(true)显示model-level错误;当 @Html.ValidationSummary(false)显示model-level 当在view中分别使用以下两种方式现在验证信息: @Html.ValidationSummary(true) @*//shows model-level errors*@ @Html.ValidationSummary
valg valgAge RegularExpressionValidator vale valeEmail RequiredFieldValidator valr valrFirstName ValidationSummary txtFirstName Table tbl tblCountryCodes TableCell tblc tblcGermany TableRow tblr tblrCountry ValidationSummary
在这篇文章中我们做一些改变,直接将处理过的异常消息显示在本页的ValidationSummary中。 1: @{ 2: ViewBag.Title = "Index"; 3: } 4: 5:
<title>Index</title> </head> <body>
"submit" value="submit" style="width:215px" />
view: 2.1.1 @using NopEnterprise.Admin.Models; @model EnterpriseInfoModel @using System.Text; @Html.ValidationSummary
可以试试看Blazor的DataAnnotationsValidator及ValidationSummary两个Component。 接着在EditForm里面加上那两个ComponentDataAnnotationsValidator及ValidationSummary,第一个是验证各个Input,第二个则是将错误信息显示在表格上方
前台:Html.ValidationMessage(key) 或 Html.ValidationSummary() 来显示 对于什么时候使用ModelState.AddModelError(模型错误
至于ValidationSummary 控件,则是在一起显示验证信息的。就这样吧,希望若干年以后不会忘记。
Artech.Mvc.ExceptionHandling.Models.LoginInfo 2: @{ 3: ViewBag.Title = "SignIn"; 4: } 5: @Html.ValidationSummary 在输入错误的用户名和错误明码的情况下在ValidationSummary中将自动得到相应的错误消息。 ? 这就是为什么我们会通过ValidationSummary显示错误信息的原因。
Application.aspx <form id="Application" method="post" runat="server"> <asp:validationsummary id="valSummary " Runat="server"> </asp:validationsummary>
Set Application Variable: id="valSummary" Runat="server">
</asp:validationsummary>
|