c# - 如何在 asp.net mvc 中使用 c# 验证错误消息?
问题描述
我正在努力验证一个空的EditorFor
using Data-Annotation
,尝试在客户端使用 jquery 。不知何故,我觉得从后端验证它比从前端验证它更好。看看并帮助我改进我的逻辑错误。@EditorFor()
我希望在用户离开显示的错误图像时验证此错误的想法。
// Model
[Required(ErrorMessage = "This field is required")]
public string Email { get; set; }
//View
script type='text/javascript'>
$(function () {
//When the blur event occurs from your Textbox (you lose focus)
$('#textEmail').blur(function () {
var email = document.getElementById("textEmail").value;
var expr = /^([\w-\.]+)@@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!expr.test(email)) {
alert("Invalid email address.");
}
else {
alert("Ok");
}
});
});
解决方案
正确使用 MVC 的 Data Annotation 可以在没有 JQuery 的情况下实现。
对于数据注释,请在属性上方写下错误消息,如下所示:
[Required(ErrorMessage = "This field is required")]
public string Email { get; set; }
其他一些注释也可以与必需注释一起使用。要验证以下注释的有效电子邮件地址,可以使用:
[Required(ErrorMessage = "This field is required")]
[EmailAddress(ErrorMessage = "Invalid email address")]
public string Email { get; set; }
推荐阅读
- c# - 如何在 C# 中将字符串转换为字符串数组?
- reactjs - 如何解决注册功能中的“无效视图”错误?
- angular - Angular 8 App Design - 通用对象和大型计算功能
- java - 如果在资源管理器中打开,非空目录并不总是被删除
- python - python中scapy汇总函数的问题
- python - 如何将 Python Concurrent Futures 与装饰器一起使用
- c# - Moq 没有在继承树中调用正确的方法
- formatting - 将二进制数据/数字转换为易于记忆的格式
- sql-server - SQL Report Builder:列可见性怪癖
- laravel - Laravel eloquent 获取相关模型为 column_name => value