jquery代码验证不会工作

时间:2014-02-26 13:11:54

标签: jquery html validation jquery-validate

我试图创建一个注册表单。表单本身工作正常,但如果我尝试使用jquery验证条目,它将不会显示任何消息。我忘记了什么?

jquery part(只是尝试使用用户名)

<script type="text/javascript">
$(document).ready(function () {
    $('#account_erstellen').validate({
        rules: {
            Benutzername: {
                required: true,
                minlength: 5,
                maxlength: 10
            }
        },
        message: {
            Benutzername: {
                required: 'Feld kann nicht leer sein',
                minlength: 'Zu kurz',
                maxlength: 'Zulang'
            }
        }
    });
});

html部分

<form id="account_erstellen" method="post" action="mail/account_erstellen.php">
<p>Benutzername:<input name="Benutzername" type="text" size="65" maxlength="30"></p>
<p>Emailadresse:<input name="Emailadresse" type="text" size="65" maxlength="30"></p>
<p>Emailadresse wiederholen:<input name="Emailadresse_2" type="text" size="65" maxlength="30"></p>
<p>Passwort:<input name="Passwort" type="password" size="65" maxlength="30"> </p>
<p>Passwort wiederholen:<input name="Passwort_2" type="password" size="65"  maxlength="30"></p>
<input type="submit" title="Jetzt registrieren" value="Registrierung absenden">
</form>

我从

获得的jquery的源代码
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
在ff控制台中我收到错误消息“验证器未定义”?在搜索之后我只读到我可能加载了错误的库?

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

messages选项拼写为messages,而不是message

$(document).ready(function () {
    $('#account_erstellen').validate({
        rules: {
            Benutzername: {
                required: true,
                minlength: 5,
                maxlength: 10
            }
        },
        message: {  // <-- this should be spelled 'messages'
            Benutzername: {
                required: 'Feld kann nicht leer sein',
                minlength: 'Zu kurz',
                maxlength: 'Zulang'
            }
        }
    });
});

否则,您的代码正在运行:http://jsfiddle.net/FWbLq/


文件包含

您可以将JavaScript文件包含在HTML的<head><body>部分中。由于您的代码包含在document.ready事件处理函数中,因此无关紧要。但是,有理由相信,当<body>部分的末尾包含脚本时,页面加载性能会得到增强。

<!DOCTYPE html>
<html>
    <head>
        <!--// your head content //-->
    </head>

    <body>
        <!--// your html markup //-->

        <!--// JavaScript file includes //-->
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
        <script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
    </body>
</html>

否则,您可以将它们包括在<head>中,就像这样......

<!DOCTYPE html>
<html>
    <head>
        <!--// your head content //-->

        <!--// JavaScript file includes //-->
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
        <script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
    </head>

    <body>
        <!--// your html markup //-->
    </body>
</html>

jQuery库本身总是在之前加载任何jQuery插件。必须在additional-methods.js文件之前加载jQuery Validate插件。

答案 1 :(得分:-1)

我试图通过包含这些js文件来生成相同的问题。

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>

据我所知,可能存在以下情况:

第一种情况,可能是你的validate.js没有正确加载。

第二种情况,可能是你在包含js库之前编写了代码,这就是在加载js库之前加载自定义代码并搜索当时不可用的validate方法并生成'jQuery.validator未定义的原因'错误。