我正在使用 Microsoft 的验证应用程序块。我有一个包含电话号码的字符串属性。我有一个 RegexValidator,它可以很好地确保属性中只有电话号码类型的字符串,但该属性还应该允许为 null 或空字符串的值。
当前,当值为 null 或为空时,此验证器将失败。
我怎样才能解决这个问题?
(我知道这个正则表达式很难以这种格式阅读,所以我提供了一个链接来测试它。)
// the regex below can be found and tested at: http://regexlib.com/RETester.aspx?regexp_id=536
[RegexValidator(@"^(?:(?<1>[(])?(?<AreaCode>[2-9]\d{2})(?(1)[)])(?(1)(?<2>[ ])|(?:(?<3>[-])|(?<4>[ ])))?)?(?<Prefix>[1-9]\d{2})(?(AreaCode)(?:(?(1)(?(2)[- ]|[-]?))|(?(3)[-])|(?(4)[- ]))|[- ]?)(?<Suffix>\d{4})$", MessageTemplateResourceName = "InvalidPhoneNumberMessage", MessageTemplateResourceType = typeof(Xltech.Common.Resources.XLStrings))]
public string NotificationCellNumber {get; set;}