我在MVC中使用DataAnnotations来验证PAN卡号。如果我在https://regex101.com/上在线检查我的表达,它会正确执行。但是当我在我的应用程序中尝试它时,它会显示错误消息,如下图所示。
我不明白为什么会失败。我已经使用以下代码在模型中实现它。那么我该如何实现呢?
[DisplayName("PAN Number")]
[Required(ErrorMessage = "* Please Enter PAN No.")]
[RegularExpression(@"/[A-Z]{5}\d{4}[A-Z]{1}/", ErrorMessage = "* Invalid PAN Number")]
public string US_PAN { get; set; }
答案 0 :(得分:0)
.NET中的正则表达式不需要包含在//
对中。
regex101默认使用类似于php的正则表达式 - 这就是为什么它需要用//
封装正则表达式。
所以你的属性应该只是
[RegularExpression(@"[A-Z]{5}\d{4}[A-Z]{1}", ErrorMessage = "* Invalid PAN Number")]