0

アプリケーションのビューに一連のフィールドがあります。jqgrid を更新する前にこれらのフィールドを検証する必要がありますが、送信機能がサーバーに投稿されないようにする必要があります。フィールドを検証してから呼び出すフォームのみが必要です。 jquery 関数。しかし、私はそれを行う方法がわかりません。

今まで私は次のようなものを持っています:

@using (Html.BeginForm())
{
   @Html.AntiForgeryToken()
   @Html.ValidationSummary(true)

   @Html.HiddenFor(m => m.scheduledIdPersonaSeleccionada)
   @Html.ValidationMessageFor(model => model.scheduledIdPersonaSeleccionada)

   <button type="submit" class="BTNTexto" id="buscarPorPersona">
         <img src="~/Images/Icons/search.png" />
         <span>@Html.Raw(Res_String.BuscarTurnos)</span>
   </button>
}

と呼ばれるjquery関数なので、ボタンを押すと検証reloadGrid()がフィールドをチェックする必要があります(私の例では1)。reloadGrid()

pd jquery 検証ライブラリは正常にロードされます

4

1 に答える 1

1

私たちが使用する方法は3つあります。最初に @Rosdi のコードを使用し、検証をイベントに追加します

if($('#scheduledIdPersonaSeleccionada').val() == ""){
    alert('something');
}

サーバーへの ajax コールバックを使用して、検証するフィールドを送信することもできます

$.ajax({
    type: "POST",
    url: "@(Url.Action("Action", "Controller"))",
    data: { data: 'data', data1: 'data1'},
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (result) {
        if(result.Success){

        }else{

        }
    }
});

あなたは送信を避けると言いましたが、それも使用します。フィールドに属性を入れる

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

次に、コントローラーでモデルの状態を確認します

if(ModelState.IsValid){

}else{
    return View(model);
}

3 番目の方法は、モデルを送り返し、送信した属性でチェックが行われるため、最も簡単です。うまくいけば、これが役に立ちます。

于 2013-10-07T14:23:26.973 に答える