0

見る

@model Osos12Mvc3.Models.TblSayaclar
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<div id="div_dialog_container" class="dialog_container">
@using (Html.BeginForm((string)ViewBag.FormAction, "Sayac"))
{
    <div id="div_iu_form_container" class="ui_form_container">
        <div>@Html.ValidationSummary(true, "Sayaç Kaydı Başarısız! Lütfen Bilgileri Kontrol Ediniz.")
        </div>
        <table>
            <thead>
                <tr>
                    <th colspan="2">
                        Genel Bilgiler
                    </th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>@Html.LabelFor(x => x.TblMusteriler.musteri_adi):
                    </td>
                    <td>@Html.DropDownList("sno", (SelectList)ViewBag.musteri_id, "--Müşteri Seçiniz--")
                    </td>
                     </tr>
            </tbody>
            <tfoot>
            </tfoot>
        </table>
        <table class="table_ui_buttons">
            <thead>
                <tr>
                    <th colspan="2">
                    </th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>
                        <input type="submit" value="Kaydet" />
                    </td>
                    <td>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
    }
 </div>

コントローラ

public ActionResult SayacEkle()
{
    var musteriler = entity.TblMusteriler.Select(x => new { x.sno, x.musteri_adi });
    ViewBag.musteri_id = new SelectList(musteriler.AsEnumerable(), "sno", "musteri_adi");

    return ContextDependentView(new TblSayaclar());
}

私の見解ではvalidationsummaryを使用しています。[送信]ドロップダウンリストをクリックすると、色が赤に変わります。(必須フィールドのように)。私はその状態を理解していません。投稿イベントをデバッグしましたが、投稿しませんでした。ポストアクションは発火していませんでした。

これはHTMLソースです:

<select data-val="true" data-val-number="The field sno must be a number." data-val-required="The sno field is required." id="sno" name="sno" class="input-validation-error"><option value="">--Müşteri Seçiniz--</option>

AliRızaAdıyahşi

何が問題なのですか?

ありがとう

4

1 に答える 1

2

[送信]ドロップダウンリストをクリックすると、色が赤に変わります。((

ビューモデルのプロパティがRequired属性でマークされている場合、検証されるのは正常です。

[Required]
public string Sno { get; set; }

この順序で実行される検証には2つのレベルがあります。

  1. クライアント側の検証(デフォルトでは有効になっていません。jqueryで実装しますubnobtrusive =>フォームが送信されないようにします)
  2. サーバー側の検証

クライアント側の検証(控えめなJavaScript)を使用していて、モデルエラーが発生した場合、フォームはサーバーに送信されません。ユーザーは、フォームを送信する前に、まずエラーを修正する必要があります。

于 2012-07-09T11:58:34.790 に答える