Ruby on Rails:验证用户在表单上输入单词的次数

本·史密斯

在我的RoR应用程序中,我想阻止用户在表单的文本区域中重复特定的单词。我有一个允许用户输入文本以发送电子邮件的表格,我想阻止他们多次说“ var1”一词。这可能吗?

我已经尝试在模型中使用以下验证来做到这一点,但这是行不通的:

class Email < ActiveRecord::Base
    belongs_to :account
    has_many :recipients
    has_many :contacts, through: :recipients, :dependent => :destroy
    has_many :groups, through: :recipients, :dependent => :destroy

    validate :singular_var1

    private
    def singular_var1
        if message.scan(/"var1"/).length > 1
            errors.add :message, 'You must not repeat the word VAR1'
        end
    end
end
jeffdill2

由于您使用的是正则表达式,因此只需要删除引号即可:

...

if message.scan(/var1/).length > 1
  errors.add :message, 'You must not repeat the word VAR1'
end

...

但是,请记住,您当前使用它的方式将只捕获小写的“ var1”,而不捕获大小写混合的字母或大写字母。如果您希望它捕获任何套管变化,请执行以下操作:

...

if message.downcase.scan(/var1/).length > 1
  errors.add :message, 'You must not repeat the word VAR1'
end

...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby on Rails 验证输入表单生成错误

来自分类Dev

来自Ruby on Rails表单的用户输入

来自分类Dev

如何在Ruby on Rails上设置用户名验证?

来自分类Dev

Ruby on Rails 4表单验证按钮

来自分类Dev

Ruby on Rails:获取表单输入到模型

来自分类Dev

按原样保存用户输入-Ruby on Rails

来自分类Dev

Ruby on Rails动态表单

来自分类Dev

未知验证程序:Ruby on Rails上的“ InValidator”

来自分类Dev

Mac验证Rails上的ruby失败

来自分类Dev

Ruby on Rails Rspec 验证

来自分类Dev

使用Ruby验证用户输入(字符串)

来自分类Dev

使用表单输入而不更新模型Ruby on Rails

来自分类Dev

Ruby on Rails:成功登录后防止用户重新登录表单

来自分类Dev

验证数字Ruby on Rails无法输入浮动价格

来自分类Dev

验证数字Ruby on Rails无法输入浮动价格

来自分类Dev

Ruby如何减少验证检查的次数?

来自分类Dev

在Rails上的ruby上创建身份验证API

来自分类Dev

在Rails上的ruby上创建身份验证API

来自分类Dev

Ruby on Rails表单助手

来自分类Dev

Ruby on Rails的表单助手

来自分类Dev

如何“使用Ruby on Rails表单”

来自分类Dev

Ruby on Rails表单助手

来自分类Dev

Ruby on Rails-模型验证

来自分类Dev

在Rails上使用ruby重新排序表单索引中的数据

来自分类Dev

当用户错误填写表单/遗漏某些东西时,如何通过Ruby on Rails上的JS显示错误消息?

来自分类Dev

在Ruby on Rails上关注用户

来自分类Dev

Ruby on Rails,停用用户

来自分类Dev

Ruby on Rails 中的用户角色

来自分类Dev

Ruby on Rails在控制器上获取验证错误消息