Textbox を 1 つ配置して、正規表現で検証できます
モデル:
public class Contact
{
[Required(ErrorMessage = "Invalid Phone")]
[RegularExpression(@"\d{3}-\d{4}-\d{3}", ErrorMessage = "Invalid Phone")]
public string Phone { get; set; }
}
3 つのテキストボックスを使用する場合":
public class Contact
{
[Required(ErrorMessage = "Invalid Phone")]
[RegularExpression(@"\d{3}", ErrorMessage = "Invalid Phone")]
public string Phone_Part1 { get; set; }
[Required(ErrorMessage = "Invalid Phone")]
[RegularExpression(@"\d{4}", ErrorMessage = "Invalid Phone")]
public string Phone_Part2 { get; set; }
[Required(ErrorMessage = "Invalid Phone")]
[RegularExpression(@"\d{3}", ErrorMessage = "Invalid Phone")]
public string Phone_Part3 { get; set; }
}