Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET MVC 3中,当在两个模型属性中使用相同的复杂类型时,如何生成变量错误消息_C#_Asp.net_Validation_Asp.net Mvc 3_Data Annotations - Fatal编程技术网

C# 在ASP.NET MVC 3中,当在两个模型属性中使用相同的复杂类型时,如何生成变量错误消息

C# 在ASP.NET MVC 3中,当在两个模型属性中使用相同的复杂类型时,如何生成变量错误消息,c#,asp.net,validation,asp.net-mvc-3,data-annotations,C#,Asp.net,Validation,Asp.net Mvc 3,Data Annotations,我有一个问题,我的电话号码类定义如下: public class TelephoneNumber { [Required(ErrorMessage = "Phone number area code is required")] public string AreaCode { get; set; } [Required(ErrorMessage = "Phone number first 3 digits are required")] public stri

我有一个问题,我的电话号码类定义如下:

public class TelephoneNumber
{
    [Required(ErrorMessage = "Phone number area code is required")]
    public string AreaCode { get; set; }

    [Required(ErrorMessage = "Phone number first 3 digits are required")]
    public string PhoneFirst3 { get; set; }

    [Required(ErrorMessage = "Phone number last 4 digits are required")]
    public string PhoneLast4 { get; set; }
}
在我的模型中,我有两个属性,其中每个属性都使用电话号码数据类型

[DisplayName("*Cell Phone")]
public TelephoneNumber CellPhone { get; set; }

[DisplayName("*Work Phone")]
public TelephoneNumber WorkPhone { get; set; }
我正在使用验证摘要,希望修改“需要电话号码区号”中的错误消息,以包括错误消息所指的电话号码。例如“需要工作电话号码区号”和“需要手机号码区号”

还可以添加新的电话号码类型,例如:

[DisplayName("Home Phone")]
public TelephoneNumber HomePhone { get; set; }
但不需要家庭电话吗

这是我的实现的简化版本,但是如果可以更改或设置复杂类型属性的数据注释,以便在同一个模型中包含的多个属性中配置不同的验证注释,那么在创建比简单电话更复杂的类时,这将使工作更轻松号码


谢谢。这是设计问题吗?电话号码、工作电话号码和手机号码是可能从抽象电话号码类继承的不同类

这将允许您在必要时注释每种类型的电话号码。我还将指定正则表达式来验证每个数字的格式

要考虑的事情是,如果有一天我说工作电话号码应该有分机和分机号码,会发生什么


查找单一责任原则,这可能会有所帮助。祝你好运。

我试图简化示例,将讨论从设计转移开。我同意你所说的一切,但这并不能回答我的任何问题。例如,如果我有家庭电话1和家庭电话2,但只需要一个。我该如何处理这种情况?