Ненавязчивая проверка MVC 5 на стороне клиента не прекращает обратную передачу - PullRequest
0 голосов
/ 19 марта 2019

Я беру проект MVC 5, который пытаюсь заставить проверку на стороне клиента работать. Кто-то удалил все пакеты и ссылался на CSS и JS вручную. С тех пор я добавил обратно связку и думаю, что теперь все правильно.

Однако, как только я настрою проверку на стороне клиента на основе найденных статей, я не смогу остановить обратную передачу. Из всего, что я узнал о настройке проверки на стороне клиента, я правильно настроил ее, но я должен что-то упустить.

_Layout.cshtml

<head>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>

<body>
    <div>....main code...</div>

    @Scripts.Render("~/bundles/jquery")        
    @Scripts.Render("~/bundles/bootstrap")
    @Scripts.Render("~/bundles/vendorscripts")
    @RenderSection("scripts", required: false)
</body>

Index.cshtml (код внизу страницы). Это RequestForm, который я отправляю и пытаюсь заставить его остановить обратную передачу, если данные отсутствуют.

@section scripts {
    @Scripts.Render("~/bundles/jqueryval")


    <script type="text/javascript">

        //turn on datepicker
        $(function () {
            $(".date-picker").datepicker({ format: 'mm/dd/yyyy' });
        });


        $("#RequestForm").submit(function (e) {
            e.preventDefault();

            $("#divLoading").show();

            var url = $("#RequestForm").attr("action");
            var data = $("#RequestForm").serialize();

            $.ajax({
                type: "POST",
                url: url,
                data: data,
                success: function (response) {
                    $("#divLoading").hide();
                    $("#RequestFormPanel").hide();

                    $("#resultsPanel").html(response);

                },
                error: function (xhr) {
                    if (xhr.status == 500) {
                        alert('Error Code: ' + xhr.status + '\nError: Internal Server Error.');
                    }
                    else {
                        alert('Error Code: ' + xhr.status);
                    }
                    $("#divLoading").hide();
                }
            })

        });

    </script>
}

Bundle.config

public class BundleConfig
{
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery.validate*"));

        // Use the development version of Modernizr to develop with and learn from. Then, when you're
        // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
        bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                    "~/Scripts/modernizr-*"));

        bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                  "~/Scripts/bootstrap.js",
                  "~/Scripts/respond.js"));

        bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/Content/bootstrap.css",
                  "~/Scripts/ui/jquery-ui.css",
                  "~/Content/site.css"));


        bundles.Add(new ScriptBundle("~/bundles/vendorscripts").Include(
                  "~/Scripts/ui/jquery-ui.js",
                  "~/Scripts/fontawesome-all.min.js"));
    }
}

Web.config

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...