2

ASP.NETMVCフォームが次のようにレイアウトされています。

@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "ccform" }))
{
    @Html.ValidationSummary(true, "Please correct the errors and try again.")
    <fieldset>
        ...
    </fieldset>
}

このフォームには、次のような特別な処理があります。

$(function () {
    $('#ccform').submit(function (e) {
        e.preventDefault();
        if (typeof (Page_ClientValidate) == 'function') {
            Page_ClientValidate();
        }
        if (Page_IsValid) {
           ...
        }
    });
});

しかし、Page_ClientValidateは常に未定義であることがわかりました。

Webを検索すると、検証コンポーネントが利用できない場合にこれが当てはまることがわかります。しかし、私はそのために必要なすべてのものを持っているようです。

誰かがいくつかのヒントを提供できますか?

編集

ネイサンが示したように、私は軌道に乗っていませんでした。私のグーグル検索で、私はウェブフォームの検証を見ることになった。答えはMVCでは驚くほど簡単です。

if ($('#ccform').valid()) {
}

良い。

4

1 に答える 1

2

Page_ClientValidate()はASP.NETWebforms検証の一部であり、ASP.NETMVCでは使用されません。ASP.NET MVC入力検証には、jQueryValidationなどを使用する必要があります。

于 2012-04-05T18:20:10.027 に答える