使用jquery-validation

时间:2016-02-08 13:47:01

标签: jquery asp.net-mvc jquery-validate unobtrusive-validation jquery-steps

我正在尝试使用jquery验证,我收到以下错误:

Uncaught TypeError: form.validate is not a function

这是我加载网站时我的脚本被引用的顺序,因为首先要假设的是我可能在jquery-validation之后加载jquery(但我不是):

<head>
    <script src="/lib/jquery/dist/jquery.js"></script>
    <script src="/lib/kendo-ui/js/kendo.all.min.js"></script>
    <script src="/lib/kendo-ui/js/kendo.aspnetmvc.min.js"></script>
</head>

<!-- BOTTOM OF PAGE -->
    <script src="/lib/bootstrap/dist/js/bootstrap.js"></script>
    <script src="/lib/jquery-steps/build/jquery.steps.js"></script>
    <script src="/js/site.js?v=EWaMeWsJBYWmL2g_KkgXZQ5nPe-a3Ichp0LEgzXczKo"></script>
<script src="/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>

表单在html中声明如下:

<form id="example-form" action="/MyController/Wizard" method="post">
</form>

此外,这是我的JavaScript代码:

var form = $("#example-form");
form.validate({
    errorPlacement: function errorPlacement(error, element) { element.before(error); },
    rules: {
        confirm: {
            equalTo: "#password"
        }
    }
});
form.children("div").steps({
    headerTag: "h3",
    bodyTag: "section",
    transitionEffect: "slideLeft",
    onStepChanging: function (event, currentIndex, newIndex) {
        form.validate().settings.ignore = ":disabled,:hidden";
        return form.valid();
    },
    onFinishing: function (event, currentIndex) {
        form.validate().settings.ignore = ":disabled";
        return form.valid();
    },
    onFinished: function (event, currentIndex) {
        alert("Submitted!");
    }
});

0 个答案:

没有答案