DataType.Phone有什么意义?

时间:2015-11-26 19:28:36

标签: validation asp.net-mvc-5 data-annotations

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.")]

1 个答案:

答案 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”)