![](/img/trans.png)
[英]How to transfer DataAnnotations from model to viewModel in asp.net core?
[英]How to use DataAnnotations & Regex - c# - ASP.NET Core
我正在使用數據注釋來匹配用戶為錯誤處理目的而輸入的字段。
每當他們輸入不正確的格式時,它就會打印出實際的正則表達式,我想知道是否有辦法刪除“匹配以下正則表達式”並只打印錯誤消息。
我的表單示例和顯示的錯誤消息:表單
我的代碼:
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; }
[RegularExpression(@"([0-9][0-9])\/([0-9][0-9])",ErrorMessage = "your message")]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.