jQuery.validate在我的Rails应用程序中仅在提交时触发
jQuery.validate only triggers on submit in my Rails App
我正在尝试将jQuery Validate插件集成到我的Rails应用程序中:
<script>
$(function() {
$("#edit_researcher").validate({
debug: false,
rules: {
"researcher[first_name]": {required: true},
"researcher[email]": {required: true, email: true}
},
messages: {
"researcher[first_name]": { required: "First name is required" },
"researcher[email]": {
required: "Email is required",
email: "Your email address must be in the format of name@domain.com"
}
}
});
</script>
这是可行的,但问题是只有在单击提交按钮时才会触发.validate
方法。我希望在onfocus
和onblur
触发它,因为我认为这是jQuery.validate()
的默认值。
在Rails应用程序中实现jQuery.validate()
时,有人遇到过同样的问题吗?
如何使其触发对onfocus
和onblur
的验证?
报价OP:
"…问题是
.validate
方法只有在单击提交按钮时才会触发。我希望在onfocus
和onblur
触发它,因为我认为这是jQuery.validate()
的默认值。"
此插件中没有onfocus
和onblur
这样的事件。实际上,默认行为是onfocusout
和onkeyup
。然而,这两种行为只有在初次点击提交按钮后才开始工作。
您现有的代码:http://jsfiddle.net/bu7ukmvy/
这种默认行为被称为"懒惰验证",而不是"渴望验证",这似乎是您所要求的。
如果用户已经单击了提交按钮,则可以修改onfocusout
和onkeyup
回调函数以忽略它们,而是在第一次模糊并按键时触发它们。
$("#edit_researcher").validate({
// rules & options,
....,
onfocusout: function (element) {
this.element(element);
},
onkeyup: function (element, event) {
this.element(element);
}
});
工作演示:http://jsfiddle.net/bu7ukmvy/1/
相关文章:
- 如何在咖啡脚本中识别提交按钮,Rails 3应用程序
- 可以'不要在express/angular应用程序上提交表格
- 在谷歌应用程序中获取最新表单提交的responseID
- 客户表单提交日期时间,MVC应用程序
- $_POST 不在提交 Web 应用程序上存储数据
- AngularJS - 做应用程序将提交和删除功能放入工厂
- 无法在 Angular 2 应用程序中提交 HTML 表单
- 提交时的对象构建会导致应用程序堵塞
- 如何在表单中提交多个组合框并使用javascript(测验应用程序)进行检查
- 从 Java 应用程序提交 ASP 表单
- 需要帮助在Telescope流星应用程序中创建一个javascript或类似引导程序的弹出模式来提交表单
- jQuery.validate在我的Rails应用程序中仅在提交时触发
- 可以'不要从facebook应用程序向facebook页面提交任何内容
- 使用POST从PhoneGap,移动jQuery应用程序跨域脚本检测成功的html表单提交
- 为什么我的提交表单不被执行在我的流星应用程序
- Mithriljs:防止整个应用程序在提交时重新加载
- 解析表单提交与谷歌应用程序脚本
- 想要从应用程序提交照片,而不使用默认的邮件客户端(使用Javascript)
- 当在asp.net web应用程序中单击启用了onserverclick的html按钮时,停止表单提交
- 谷歌应用程序脚本.表单提交随机失败