ASP.NET MVC的DataAnnotation具有DataType.Phone值。即。
[Display(Name = "Coordinator Phone")]
[DataType(DataType.PhoneNumber)]
public string CoordinatorPhone { get; set; }
但它有什么意义呢?它生成代码:
<input class="form-control" id="SupervisorPhone" name="SupervisorPhone" type="text" value="">
逻辑上,它应该生成type =“phone”,但它不会这样做。
无论如何我必须添加正则表达式:
[RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Entered phone format is not valid.")]
答案 0 :(得分:2)
我找到了解决方案。如果我在视图中更改:
@Html.TextBoxFor(model => model.SupervisorPhone)
到
@Html.EditorFor(model => model.SupervisorPhone)
它会生成
<input class="text-box single-line" data-val="true" data-val-regex="Entered phone format is not valid."... type="tel" value="">
(使用type =“tel”)