Sve*_*rim 6 c# asp.net-core-mvc
我正在为我的表单使用数据注释,用户可以在其中注册他们的帐户。对于电子邮件字段,我有一个用于必需的数据注释和一个用于有效电子邮件的数据注释。在这里你可以在我的视图模型中看到:
[Required(ErrorMessage = "The Email field is required.")]
[EmailAddress(ErrorMessage = "The Email field is not a valid e-mail address.")]
public string Email { get; set; }
Run Code Online (Sandbox Code Playgroud)
在我看来,我有以下代码:
<form asp-controller="Home" asp-action="RegisterAsync" method="post" class="register-form">
<br />
<img src="~/images/logo.png" width="300" />
<br />
<br />
<div class="text-danger">
@ViewBag.FailedToRegister
</div>
<div class="form-group">
<input asp-for="Name" placeholder=@Localizer["Name"] class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
<input asp-for="Email" placeholder="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
// Removed code for brevity
Run Code Online (Sandbox Code Playgroud)
现在,当我运行我的应用程序并将电子邮件字段留空时,我会收到一条如下所示的不错的错误消息。
但是,当我填写的内容不是有效的电子邮件地址时,我不会收到与上面相同的错误文本,但会收到以下信息。
(对不起,荷兰语消息,这意味着:需要一个有效的电子邮件地址。)
但是为什么我没有收到我在 ViewModel 中编程的消息,我该如何解决这个问题?
我也尝试改变
[EmailAddress(ErrorMessage = "The Email field is not a valid e-mail address.")]
Run Code Online (Sandbox Code Playgroud)
在我的视图模型中
[DataType(DataType.EmailAddress, ErrorMessage = "The Email field is not a valid e-mail address.")]
Run Code Online (Sandbox Code Playgroud)
,但没有运气。
您看到的意外验证来自您的浏览器。如果您将“novalidate”属性添加到表单中,它将禁用它:
例如
<form asp-controller="Home" asp-action="RegisterAsync" method="post" class="register-form" novalidate>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5557 次 |
| 最近记录: |