4

現在、3 つのテキスト ボックスすべてに対して 1 つのエラー メッセージのみを表示する必要がある FAX 番号を検証しています。まとめのように

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");
}

次に、これをビューで使用します(1回)

@Html.ValidationMessage("FaxError")

注:これは、他の方法でそれを行う方法を示しているだけです。他の検証を使用する必要があります:)

于 2013-07-23T07:21:15.270 に答える