如何使用DataAnnotations&;Regex-c#-ASP.NET内核
我使用DataAnnotation来匹配用户将输入的字段,以便进行错误处理 每当他们输入不正确的格式时,它就会打印实际的正则表达式,我想知道是否有办法删除“匹配下面的正则表达式”并只打印错误消息 我的表单示例和显示的错误消息: 我的代码:如何使用DataAnnotations&;Regex-c#-ASP.NET内核,c#,regex,asp.net-mvc,asp.net-core,data-annotations,C#,Regex,Asp.net Mvc,Asp.net Core,Data Annotations,我使用DataAnnotation来匹配用户将输入的字段,以便进行错误处理 每当他们输入不正确的格式时,它就会打印实际的正则表达式,我想知道是否有办法删除“匹配下面的正则表达式”并只打印错误消息 我的表单示例和显示的错误消息: 我的代码: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.ComponentModel.Data
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
namespace FoodCart.Models
{
public class Order
{
public int ID { get; set; }
[Display(Name = "First Name")]
[RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")]
[Required(ErrorMessage = "This field is required")]
public string FirstName { get; set; }
[Display(Name = "Last Name")]
[RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")]
[Required(ErrorMessage = "This field is required")]
public string LastName { get; set; }
[Required(ErrorMessage = "This field is required")]
public string Address { get; set; }
[Required(ErrorMessage = "This field is required")]
public string City { get; set; }
[Required(ErrorMessage = "This field is required")]
public string State { get; set; }
[Required(ErrorMessage = "This field is required")]
public string Zip { get; set; }
[Display(Name = "Name on Card")]
[Required(ErrorMessage = "This field is required")]
public string NameonCard { get; set; }
[Display(Name = "Credit Card Number")]
[Required(ErrorMessage = "This field is required, input valid 16 digit number")]
[RegularExpression(@" ([0 - 9][0 - 9][0 - 9][0 - 9]) ([0 - 9][0 - 9][0 - 9][0 - 9]) ([0 - 9][0 - 9][0 - 9][0 - 9]) ([0 - 9][0 - 9][0 - 9][0 - 9])")]
public string CreditCardNum { get; set; }
[Display(Name = "Expiration Date")]
[Required(ErrorMessage = "This field is required, input valid expiration date: MM/YY")]
[RegularExpression(@"([0-9][0-9])\/([0-9][0-9])")]
public string ExpDate{ get; set; }
[Display(Name = "CVV")]
[RegularExpression(@"([0-9][0-9][0-9])")]
[Required(ErrorMessage = "This field is required")]
public string cvv { get; set; }
[Display(Name = "Total")]
public decimal YourTotal { get; set; }
public int UserLinkID { get; set; }
}
}
验证属性都附带了一条默认错误消息,该消息内置于实现中。对于
RegularExpressionAttribute
,此错误消息如下所示:
字段{0}必须与正则表达式{1}匹配
占位符{0}
将是正在验证的属性的显示名称,{1}
将是正则表达式本身
有几种方法可以自定义此错误消息,请使用以下方法之一。最简单的方法是直接使用ErrorMessage
属性指定错误消息。注意,如果愿意,您仍然可以引用占位符{0}
(用于字段名)和{1}
(用于正则表达式):
[Display(Name = "First Name")]
[RegularExpression(@"^[a-zA-Z'-\s]{1,40}$", ErrorMessage = "The field {0} is not a valid name")]
public string FirstName { get; set; }
您选择的图案不合适。你想用这个图案做什么?
[Display(Name = "First Name")]
[RegularExpression(@"^[a-zA-Z'-\s]{1,40}$", ErrorMessage = "The field {0} is not a valid name")]
public string FirstName { get; set; }