4

我目前正在验证一个传真号码,我只需要为所有 3 个文本框显示一条错误消息。就像一个总结

业务需求似乎有点挑剔/愚蠢,因为有 3 个文本框,而且它们都是自己需要的,但如果有人在此之前已经这样做了,那就太好了。

在我的模型中:

    [Required(ErrorMessage = "Fax is Required...")]
    [RegularExpression("^[0-9]{3}$", ErrorMessage = "Not a valid fax #")]
    public string poc_fax_1 { get; set; }
    [Required(ErrorMessage = "Fax is Required...")]
    [RegularExpression("^[0-9]{3}$", ErrorMessage = "Not a valid fax #")]
    public string poc_fax_2 { get; set; }
    [Required(ErrorMessage = "Fax is Required...")]
    [RegularExpression("^[0-9]{4}$", ErrorMessage = "Not a valid fax #")]
    public string poc_fax_3 { get; set; }

看法:

(@Html.TextBoxFor(model => model.poc_fax_1, new { @class = "input-mini", @maxlength=3 })) -
                            @Html.ValidationMessageFor(m=>m.poc_fax_1)
                            @Html.TextBoxFor(model => model.poc_fax_2, new { @class = "input-mini", @maxlength=3 }) -
                            @Html.ValidationMessageFor(m=>m.poc_fax_2)
                            @Html.TextBoxFor(model => model.poc_fax_3, new { @class = "input-mini", @maxlength=4 })
                            @Html.ValidationMessageFor(m=>m.poc_fax_3)

在此处输入图像描述

注意:图像是在我修复数字条目之前,因此更新了问题。

4

1 回答 1

6

如果 3 个字段一起有效,您可以在控制器操作中检查,而不是为每个传真号码使用注释

像这样:检查你的控制器

if (faxfield1 != null && faxfield2 != null && faxfield3 != null)
{
    ModelState.AddModelError("FaxError", "Fax is not valid");
}

然后在您的视图中使用它(一次)

@Html.ValidationMessage("FaxError")

注意:这只是展示了如何以其他方式进行操作,您必须使用其他验证 ofc :)

于 2013-07-23T07:21:15.270 回答