csharp 自定义数据注释验证属性,用于验证数据是两个字符的美国州名缩写。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 自定义数据注释验证属性,用于验证数据是两个字符的美国州名缩写。相关的知识,希望对你有一定的参考价值。

using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;


sealed public class UsStateTwoCharacterAbbreviationAttribute : ValidationAttribute
{

	private readonly string[] validStateAbbr = new string[] { "AK", "AL", "AR", "AZ", "CA", "CO", "CT", "DC", "DE", "FL", "GA", "HI", "IA", "ID", "IL", "IN", "KS", "KY", "LA", "MA", "MD", "ME", "MI", "MN", "MO", "MS", "MT", "NC", "ND", "NE", "NH", "NJ", "NM", "NV", "NY", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VA", "VT", "WA", "WI", "WV", "WY" };

	public UsStateTwoCharacterAbbreviationAttribute() 
		: base("must be a two character U.S. state abbreviation")
	{

	}



	public override string FormatErrorMessage(string name)
	{
		return String.Format("{0} {1}", name, ErrorMessageString);
	}


	public override bool IsValid(object value)
	{
		bool isValid = false;

		if(!String.IsNullOrWhiteSpace(value.ToString()))
		{

			if(value.ToString().Length == 2 && this.validStateAbbr.Contains(value.ToString()))
			{
				isValid = true;
			}


		}

		return isValid;
	}
	

}

以上是关于csharp 自定义数据注释验证属性,用于验证数据是两个字符的美国州名缩写。的主要内容,如果未能解决你的问题,请参考以下文章

csharp 数据注释属性,用于验证字符串是否为有效的XML

具有客户端验证的自定义数据注释验证属性

使用数据注释和代码的自定义验证属性

使用数据注释的依赖属性的自定义模型验证

csharp 用于测试数据的验证属性晚于另一个

自定义大小注释上的 Java 验证消息