【问题标题】:validation with space in rails在rails中使用空间进行验证
【发布时间】:2017-01-23 04:58:08
【问题描述】:

在 rails 表单中,我想验证为“不应在文本字段的开头输入空格”。也就是说,文本字段的开头没有空格。 空格值不应作为第一个字符。 Rails 中是否有任何验证?或者可以通过使用javascript来完成? 提前致谢。

【问题讨论】:

标签: javascript jquery validation ruby-on-rails-4


【解决方案1】:

我将您正在验证的确切字段称为 fieldx;替换为与您的情况相关的任何字段。

如果您通过 rails ActiveRecord 将表单的结果保存到数据库中的记录中,我建议在模型级别进行此验证,示例可能是:

validates_format_of :fieldx, :with => /^[^\s].*$/

如果您只想验证表单字段客户端(在表单本身中),我建议使用 HTML5 模式验证。如果您没有使用模板语言或表单助手,它看起来像这样:

<input type="text" title="fieldx" id="fieldx" name="fieldx" pattern="^[^\s].*$">

如果您使用的是 Rails 表单助手,则为:

f.text :fieldx, id: 'fieldx', pattern: /^[^\s].*$/

^[^\s].*$ 部分是您可能知道的正则表达式。您可能想要使用的正则表达式可能只是^\S+。我推荐这个工具来测试你的正则表达式,这样你就可以获得在你的特定情况下最有效的方法: http://rubular.com/

【讨论】:

  • 在进行模型验证的情况下,您必须处理来自服务器的错误响应,这可能涉及更多工作。但是,这是确保记录不以无效格式(前导空格)保存的最佳方法,因为通过终端等创建的记录也将被验证。
  • 感谢@quetzaluz ur link 帮助我找到正则表达式模式。我通过脚本实时验证完成了验证,模式为 pattern: /^\S/
猜你喜欢
  • 2021-02-09
  • 1970-01-01
  • 2011-06-21
  • 2012-01-24
  • 1970-01-01
  • 2011-12-17
  • 2015-10-03
  • 2023-04-10
  • 1970-01-01
相关资源
最近更新 更多