RubyonRails在Javascript中测试电子邮件的唯一性
Ruby on Rails Test Email Uniqueness Inside Javascript
我很难找到一种有效的异步方法来测试用户输入的电子邮件是否唯一。我不想在我的控制器中使用验证,因为我想在用户提交表单之前显示一个弹出窗口
我基本上是在尝试User.fund(:all,:conditions=>["email==?",current_User.email]),但在我的html页面上的javascript中。
您需要这样的东西:
- 控制器中检查电子邮件唯一性的方法,如
unique = (User.find(:all, :conditions => ["email == ?", current_user.email])).length == 0
。让它只返回这样的JSON:render json: unique
。不需要视图 - 通往该方法的途径
- JavaScript中的一个函数,它向上述路由发送一封电子邮件,并获得一个JSON文档作为回报
下面是一个使用jQuery的未经测试的示例:
function isEmailUnique(email) {
jQuery.get('/my-controller/test-email-uniqueness', email, function(json) {
if (json.unique) {
// Tell the user the email is in use.
}
});
}
这样就可以了。您需要对控制器返回的JSON文档的结构进行一些处理不要返回整个用户记录,因为这会让邪恶的人访问他们不应该访问的东西。最好返回{ 'email': 'user@example.com', 'unique': true }
之类的东西
希望能有所帮助。
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 使用angularjs验证文本框中的电子邮件
- 使用正则表达式评估电子邮件地址时出现性能问题
- javascript中添加验证电子邮件的问题
- 如何在收到电子邮件时自动调用脚本
- 获取屏幕截图并在电子邮件中发送的按钮
- 将项目履行与高级模板合并,并通过电子邮件发送至Netsuite 2.0
- php&js-将电子邮件添加到输入文本中
- 将用户制作的SVG(raphael.js)发送到服务器(php),以便通过电子邮件发送
- 以PDF附件的形式通过电子邮件发送谷歌文档
- 将Meteor中的base64 PDF作为电子邮件附件
- 来自现场目的的Meteor电子邮件.send()
- 根据部门用户的选择,接收来自多个电子邮件地址的Wordpress Contactform7查询
- Javascript/Ajax:通过点击按钮检查有效的电子邮件和电话号码
- 如果填写了特定值,则通过电子邮件发送电子表格中的数据
- 窗口提醒或类似内容中的电子邮件表单
- 通过phonegap中的电子邮件发送存储在html5 localStorage中的信息
- AngularJS / 验证电子邮件唯一性时的奇怪行为
- RubyonRails在Javascript中测试电子邮件的唯一性
- 有没有任何方法可以在ruby on rails应用程序中验证JS上电子邮件的唯一性