【问题标题】:jquery code validation wont workjquery代码验证不起作用
【发布时间】:2014-02-26 13:11:53
【问题描述】:

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

jquery 部分(只用用户名试试)

<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 控制台中我收到错误消息“验证器未定义”?搜索后我只读到我可能加载了错误的库?

有什么建议吗?

【问题讨论】:

  • 请创建jsfiddle.net
  • 为我工作jsfiddle.net/DDS4X
  • 我也是:jsfiddle.net/5gFmU
  • 我想你可能是在表单之后加载脚本,请在 head 部分加载脚本
  • 好吧,不知道为什么它不起作用我试图将其复制并粘贴到 jsfiddle,它在 webspace 上也不起作用,但从 zword 和 rafaelsoufraz 中起作用?真的很混乱。

标签: jquery html validation jquery-validate


【解决方案1】:

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/


文件包含

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

<!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>

否则,您可以像这样将它们包含在&lt;head&gt; 中...

<!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 插件之前加载。 jQuery Validate 插件必须在其additional-methods.js 文件之前加载。

【讨论】:

  • 好的,我做了 2 次更改,但仍然无法正常工作。不知道为什么,因为我昨天尝试了其他一些 jquery 函数,比如fadeOut,这很好用......
  • @user3115267,你可以看到它在我的 jsFiddle 中工作。您的 OP 中没有发布任何相关信息。
【解决方案2】:

我试图通过包含这些 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 库之前加载您的自定义代码并搜索当时不可用的验证方法并生成 'jQuery.validator is undefined ' 错误。

【讨论】:

  • -1,包含两次插件如何解决任何问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
  • 1970-01-01
  • 2014-06-05
  • 2014-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多