【发布时间】:2021-03-17 16:11:58
【问题描述】:
我正在使用数据注释来匹配用户为错误处理目的而输入的字段。
每当他们输入不正确的格式时,它就会打印实际的正则表达式,我想知道是否有办法删除“匹配以下正则表达式”并只打印错误消息。
我的表单示例和显示的错误消息: Form
我的代码:
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; }
}
}
【问题讨论】:
-
您选择的模式不合适。你想用这个模式做什么?
标签: c# regex asp.net-mvc asp.net-core data-annotations