0

我正在尝试使用 jquery 验证来验证表单,但它没有显示预期的错误消息。如何设置它以显示我的消息?

这是我正在使用的javascript:

$(function () {

$("#registerForm").validate({
    rules: {
        inputEmail: {
            required: true,
            email: true
        }
    },
    messages: {
        inputEmail: "Please enter a valid email address"
    }
});
});

请查看我的代码的 jsfiddle 链接:

带有 html/bootstrap 的 JSFIDDLE 代码 *已更新

在我网站的实时版本中,它甚至没有显示出现在 jsfiddle 中的弹出消息。请帮我解决这个问题。

理想情况下,如果验证失败但不知道如何执行此操作,我想显示内联消息或摘要。我希望如果 jquery 验证有效,那么我将能够指定自定义函数来处理successerror事件。

如果有人可以在这里帮助我,我将不胜感激。谢谢。

更新

我得到的提琴手响应的屏幕截图

4

1 回答 1

1

请注意,即使在我从 jsFiddle 中删除了 jQuery 和 jQuery Validate 之后,您仍然有这个问题吗?

http://www.jsfiddle.net/xRRZb/4

由于 HTML5,弹出气泡和压倒一切的消息由浏览器直接生成......与您的任何 JavaScript 或 jQuery 代码无关。

因此,既然您已经在 中定义了requiredandemail规则,请从您的内联 HTML.validate()中删除requiredand :type="email"

<input type="text" name="inputEmail" id="inputEmail" placeholder="E.g. youremail@website.com" />

演示: http: //www.jsfiddle.net/xRRZb/6


编辑:

jQuery Validate 1.8 已经很老了。考虑升级到版本 1.11.1

事实上,这可能是你的全部问题。 版本 1.11.1 动态添加一个novalidate="novalidate"属性到form标签以在使用插件时禁用 HTML5 验证。

不幸的是,1.8 版没有这个功能

或者,您可以手动添加该novalidate属性以确保禁用 HTML5 验证。但是,如果您手动添加该novalidate属性,则不会有回退。

于 2013-06-24T16:20:17.343 回答