加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 从对象验证消息中删除字段名称

发布时间:2020-12-17 04:20:43 所属栏目:百科 来源:网络整理
导读:我在一个表单中使用它对一个对象进行了简单的活动记录验证: form.error_messages({:message = '',:header_message = ''}) 这反过来输出类似“FieldName我的自定义消息”的内容 我需要做的是从错误消息中删除字段名称,但保留我的自定义消息. 任何人都可以指
我在一个表单中使用它对一个对象进行了简单的活动记录验证:
form.error_messages({:message => '',:header_message => ''})

这反过来输出类似“FieldName我的自定义消息”的内容

我需要做的是从错误消息中删除字段名称,但保留我的自定义消息.

任何人都可以指出我正确的方向.

解决方法

完全控制消息的一种方法是在模型中使用自定义验证块.例如要检查字段是否为空,它将是这样的:
class MyModel < ActiveRecord::Base
  validate do |model|
    model.errors.add_to_base("My Custom message") if user.field.blank?
  end
end

add_to_base用于添加与特定单个字段无关的消息(例如,如果多个字段的组合是非法的).这意味着不会添加用于突出显示无效字段的CSS.您也可以通过为您的字段的错误添加nil消息来解决此问题,例如:

model.errors.add(:field,nil)

或者,查看custom-err-message插件 – 此插件为您提供了不具有前缀为属性名称的自定义验证错误消息的选项.

更新:

自Rails 3以来,不推荐使用add_to_base.可以使用以下代码:
model_instance.errors.add(:base,“Msg”)
参考:https://apidock.com/rails/ActiveRecord/Errors/add_to_base

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读