C# 数据注释电话号码转换
我想将用户输入的电话号码优雅地转换为特定的电话号码格式C# 数据注释电话号码转换,c#,regex,asp.net-mvc-3,data-annotations,C#,Regex,Asp.net Mvc 3,Data Annotations,我想将用户输入的电话号码优雅地转换为特定的电话号码格式 我想用一个数据注释来转换它,就像 [dataType(dataType.Date)]将日期时间显示为字符串 即: 02059388472插入+612059338472 02 0593 8472插入+612059384472 0593 8472到+612059384472(我将假定区号来自何处 他们住在那里(如果是手机的话) 02-0593-8472插入+61205938472 等等,我还想转换另一个方向: +61205938472
- 我想用一个数据注释来转换它,就像
将[dataType(dataType.Date)]
显示为日期时间
字符串
- 02059388472插入+612059338472
- 02 0593 8472插入+612059384472
- 0593 8472到+612059384472(我将假定区号来自何处 他们住在那里(如果是手机的话)
- 02-0593-8472插入+61205938472
- +61205938472(或我选择的任何格式)
(请包括一些代码)
编辑:为了澄清,我不希望有人为我编写扩展,我只想举一个关键代码和实现的例子李> 请注意
- 这些国家是澳大利亚、新西兰和国际组织 存储为国际格式数字的数字
- 和国际格式的数字转换为澳大利亚、新西兰或国际格式,具体取决于用户的位置(我可以确定)
2。这对于编写这样的扩展来说要求太高了,尤其是在没有表现出任何努力的情况下。根据您使用的用户界面,您可能可以通过以下方式完成:
- ASP.NET:(参见示例)
- ASP.NET MVC:ModelBinder
- WPF:
- Windows窗体:
在数据注释命名空间中,有一个可以附加到属性的注释。尽管您自己仍有责任使用适当的显示技术进行解析和格式化。根据您使用的用户界面,您可能可以通过以下方式完成此操作:
- ASP.NET:(参见示例)
- ASP.NET MVC:ModelBinder
- WPF:
- Windows窗体:
在数据注释命名空间中,有一个可以附加到属性的注释。尽管您自己仍然负责使用适当的显示技术进行解析和格式化。您可以像这样使用DataTypeAttribute:
[DataType(DataType.PhoneNumber)]
public string PhoneNumber{get; set;}
您可以使用DataTypeAttribute,如下所示:
[DataType(DataType.PhoneNumber)]
public string PhoneNumber{get; set;}
我明白,我会澄清,我不是要求别人为我写扩展。我只是想要一些关于如何实现它的伪代码,正如您所说的,数据注释不用于转换值,那么您将如何做呢?验证只是为了确保结构有效(您可能希望研究使用
regex数据注释
)。这实际上取决于您的实现以及您“在数据库中保留严格的数据类型”的位置。这可能是在控制器或管理器类、服务、工厂、存储库等中。这些数据与数据库交互的地方就是需要进行转换或逻辑的地方。我理解,我会澄清,我不是要求别人为我写扩展。我只是想要一些关于如何实现它的伪代码,正如您所说的,数据注释不用于转换值,那么您将如何做呢?验证只是为了确保结构有效(您可能希望研究使用regex数据注释
)。这实际上取决于您的实现以及您“在数据库中保留严格的数据类型”的位置。这可能在控制器或管理器类、服务、工厂、存储库等中。这些数据与数据库交互的位置就是需要进行转换或逻辑的位置。是的,但数据类型不用于数据验证(即使它们派生自ValidationAttribute)。奇怪,我知道。是的,但数据类型不用于数据验证(即使它们派生自ValidationAttribute)。奇怪,我知道。