Javascript 为什么jQuery验证在这里不起作用
我试图用jquery验证来验证表单,但它没有显示预期的错误消息。如何设置它以显示我的消息 下面是我正在使用的javascript:Javascript 为什么jQuery验证在这里不起作用,javascript,jquery,twitter-bootstrap,jquery-validate,Javascript,Jquery,Twitter Bootstrap,Jquery Validate,我试图用jquery验证来验证表单,但它没有显示预期的错误消息。如何设置它以显示我的消息 下面是我正在使用的javascript: $(function () { $("#registerForm").validate({ rules: { inputEmail: { required: true, email: true } }, messages: { inputEmai
$(function () {
$("#registerForm").validate({
rules: {
inputEmail: {
required: true,
email: true
}
},
messages: {
inputEmail: "Please enter a valid email address"
}
});
});
请查看我的代码的JSFIDLE链接:
*已更新
在我的站点的实时版本上,它甚至没有显示JSFIDLE中出现的弹出消息。请帮我修一下这个
理想情况下,如果验证失败,我希望显示内联消息或摘要,但不知道如何做到这一点。我希望如果jquery验证有效,那么我就能够指定自定义函数来处理success
和error
事件
如果有人能帮我,我将不胜感激。谢谢
更新
注意,即使我从JSFIDLE中删除了jQuery和jQuery验证,您仍然存在这个问题吗 由于HTML5,浏览器可以直接生成弹出气泡和覆盖消息。。。与JavaScript或jQuery代码无关 因此,既然您已经在
.validate()
中定义了required
和email
规则,请从内联HTML中删除required
和type=“email”
:
<input type="text" name="inputEmail" id="inputEmail" placeholder="E.g. youremail@website.com" />
演示:
编辑: jQueryValidate1.8非常古老。考虑升级到1.1.1版本 事实上,这可能是你的全部问题。当插件被使用时 不幸的是
或者,您可以手动添加
novalidate
属性,以确保禁用HTML5验证。但是,如果手动添加novalidate
属性,则不会有回退。您的问题非常不清楚。您上面发布的代码已经过验证。它正在显示您的自定义错误消息。我收到的错误消息是请填写此字段
或请输入电子邮件地址
,而我希望收到的消息是请输入有效的电子邮件地址
。你得到了不同的结果吗?另外,您是否在live link中尝试过该表单?在那里,它甚至没有显示一条消息。在中,我看到的正是我之前所期望和声明的,自定义错误消息定义在您的代码中:“请输入一个有效的电子邮件地址”。奇怪的是,我希望我能得到与您相同的响应。我刚刚在Chrome、Firefox和IE10中试用过,它们都显示请填写不同样式的字段。我还附上了最近尝试运行它的屏幕截图。你能告诉我你是否能在live
链接上看到任何错误消息吗?也许我在运行fiddler时遗漏了什么。我想我所要做的就是在没有输入的情况下点击提交按钮?或者还有其他需要检查/启用/单击的内容吗?@sttaq,对不起。。。我输入错误的URL。。。修好了。谢谢你的帮助。这个问题在JSFIDLE中得到了修复,但在live上没有,即使html是有效的。它没有显示错误消息,我认为它没有进行验证。我将尝试使用更新的版本,看看会发生什么。我仍然不明白html5验证是否存在,为什么它没有出现在现场?我终于发现了我的错误。唉,我得揍自己一顿。我在html中包含了两次jquery验证,这导致html5和jquery验证都失败。我没有意识到这一点的原因是,我的页面由部分视图组成,其中一个视图中我忘记了删除脚本。无论如何,非常感谢你对我的帮助:)