如何使用DataAnnotations检查属性仅匹配字符串数组 - c#

我有一个属性:

[MaxLength(3)]
public string State { get; set; }

在名为State的属性上,并且我只希望它与给定的澳大利亚5个州相匹配:
{ "VIC", "NSW", "QLD", "SA", "TAS", "WA" }。如何在此上下文中使用DataAnnotations?

参考方案

您可以使用RegularExpressionAttribute

[RegularExpression("VIC|NSW|QLD|TAS|WA|SA")]
[MaxLength(3)]
public string State { get; set; }

仅应允许VIC,NSW,QLD,TAS,WA或SA

45码