2

私はasp.net mvc 3アプリケーションに取り組んでおり、目立たないJS検証を機能させるのに問題があります。非常によく似た質問をしましたが、答えが得られなかったので、問題をより適切に定義できたと思うので、今この質問を書きます。

クライアント側の検証を機能させる方法の答えを探していると、検証プロセスを開始する送信ボタンのクリックイベントにコードが添付されている必要があることがわかりました。これがそうであると 100% 確信しているわけではなく、これは実際には私の問題ですが、私が正しければ、検証プロセスをトリガーできるように追加する必要がある JS を手伝ってもらえますか。

これは私のフォームです:

@using (Html.BeginForm("RecieveDataFromDocument", "Forms", FormMethod.Post))
{
    @Html.ValidationSummary(true)
    <table border="1">
        <colgroup>
            <col span="1" style="width: 10%;" />
            <col span="1" style="width: 40%;" />
            <col span="1" style="width: 25%;" />
            <col span="1" style="width: 25%;" />
        </colgroup>
        @Html.Partial("_PartialHeader", Model)
        @Html.Partial("_PartialDrawing", Model)
        @Html.Partial("_PartialBody", Model)
        @Html.Partial("_PartialFooter", Model)
    </table>
    if (ViewBag.Status == 1)
    {
        <button type="submit" id="submitDocument">Save</button>   
    }
    else
    { 
        @Html.ActionLink("Back", "Index")
    }
}

同じビューの下部に、次の JS があります。

<div>
<script type="text/javascript">
    $(document).ready(function () {
        $('#submitDocument').click(function () {
            window.alert('Hi');
            var test = ($("form").valid());
            window.alert('bye');
        })
    });
</script>
</div>

私が今までテストしたことから、メッセージを見ることができますHiが、コメントしても.. byeそのため、どんな助けもいただければ幸いです。

PS

これは私の_Layoutページに含まれています:

<script src="@Url.Content("~/Scripts/jquery-1.8.3.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui-1.10.3.custom.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/plugins/jqGrid/jquery-ui-1.8.16.custom.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/PageHelpers/jqDateTimePicker.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/plugins/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/plugins/jquery.validate.js")" type="text/javascript"></script>

そして、それらを明示的に含めようとしました:

 <script src="@Url.Content("~/Scripts/plugins/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
 <script src="@Url.Content("~/Scripts/plugins/jquery.validate.js")" type="text/javascript"></script>

私からしてみれば。したがって、この設定では機能しません。

4

3 に答える 3

2

ページに jQuery および jQuery Validate プラグイン スクリプトを含める必要があります。

ASP.Net MVC の目立たない検証スクリプトも含めると、すべてが自動的に行われます。

EDIT : jQuery Validate のに目立たない検証スクリプトを含める必要があります。そうしないと、自動セットアップが機能しません。

于 2013-05-21T14:33:21.610 に答える
1

@SLaks の言うとおりです。必要な js ファイルをページの head セクションに含め、ブラウザ (IE、Chrome、または Safari) に含まれている開発者ツールを使用して、問題が発生した場合は js コンソールを確認してください。

フォームに ID を使用する場合は、フォームを開くコマンドを次のように変更します。

@using (Html.BeginForm("RecieveDataFromDocument", "Forms", FormMethod.Post)) {

}

メソッドvalid()をvalidate()に修正します

于 2013-05-21T14:40:17.873 に答える