是否可以在 Rails 模型验证方法中执行一些 Javascript?

Posted

技术标签:

【中文标题】是否可以在 Rails 模型验证方法中执行一些 Javascript?【英文标题】:Is it possible to do some Javascript in a Rails Model validation method? 【发布时间】:2012-11-07 19:23:32 【问题描述】:

我基本上希望只允许用户在他们输入或已定位到有效位置的情况下进行注册。我认为验证位置的方法是使用谷歌的地理定位 API,将用户输入的字符串地址转换为纬度和经度。我很想在我的用户模型中的自定义验证方法中执行此操作,但我需要使用 javascript 来访问 Google 的 API。

有什么好办法吗?有没有更好的方法来解决这个问题?谢谢!

【问题讨论】:

【参考方案1】:

如果您使用 Google API 的 Geolocation,您可以使用 Javascript 评估数据,然后通过 Ajax 将数据发送到您的控制器(jQuery 可以做到这一点)。这样,验证成功后,您的控制器就可以注册新用户。您的控制器可以直接与模型交互。

【讨论】:

谢谢你——我会调查的。我希望我能以某种方式使用 Rails 模型验证器进行位置验证,这样所有失败的表单验证都会返回到同一个位置,表单错误 div-

以上是关于是否可以在 Rails 模型验证方法中执行一些 Javascript?的主要内容,如果未能解决你的问题,请参考以下文章

Rails - 验证关联的存在?

Rails - 从模型中获取不是验证错误的错误消息

不完整任务失败的Rails模型方法

是否可以在数据库列中的字符串上放置最小长度,或者只能通过模型 上的验证来完成?

模型文件中的 Ruby on Rails IBAN 验证

在Rails 5模型中验证毕业日期