我试图创建一个注册表单。表单本身工作正常,但如果我尝试使用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>
有什么建议吗?
答案 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未定义的原因'错误。