gpt4 book ai didi

ruby-on-rails-3 - 自定义模型验证错误消息警报

转载 作者:行者123 更新时间:2023-12-04 07:10:46 25 4
gpt4 key购买 nike

我正在尝试自定义用户在 上看到的错误消息警报表单顶部 当他们输入错误数据时。我尝试自定义的错误消息警报适用于嵌套形式的模型属性。

我已经尝试过解决方案 here其中说要编辑 config/locales/en.yml文件,但这只会更改消息,而不是在错误消息之前显示的模型和属性的名称。

我也试过比利在 his answer 中的建议波纹管具有相同的结果。 IE。

1 个错误禁止保存这条徒步路线:
- 来自“我的自定义空白错误消息”的路线指示

有没有办法让我在错误消息中显示更用户友好的模型和属性名称,或者从错误消息中完全删除它们?

这是我所拥有的:

配置/语言环境/en.yml

    # Sample localization file for English. Add more files in this directory for other locales.
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
en:
activerecord:
models:
direction: "In the Getting There section"
attributes:
direction:
directions_from: "From field"
errors:
full_messages:
format: "%{message}"
models:
direction:
attributes:
directions_from:
blank: "My Custom Blank Error Message"

模型
class Direction < ActiveRecord::Base
belongs_to :hikingtrail

attr_accessible :directions_by, :directions_desc, :directions_from

validates :directions_from, :presence => {message: "'My Custom Error Message'", :if => Proc.new { |a| a.directions_by? || a.directions_desc? } }

validates :directions_by, :presence => {message: "'My Custom Error Message'", :if => Proc.new { |a| a.directions_from? || a.directions_desc? } }

validates :directions_desc, :presence => {message: "'My Custom Error Message'", :if => Proc.new { |a| a.directions_from? || a.directions_by? } }
end

最佳答案

您可以使用 :message分配自定义错误消息的选项。

例子:

validates :directions_from, presence: true, 
message: "'Direction from' really really really can't be blank!"

然后此自定义错误消息将显示为 <%= msg %>在表单 View 中。

引用: http://edgeguides.rubyonrails.org/active_record_validations.html#message

添加
回答OP关于评论的问题,即网页中显示的消息不是很友好,显示结果为“Directions Directions from 'Direction from'真的真的不能为空”

原因是 View 模板使用 errors.full_messages以显示错误消息。您可以使用两个选项轻松自定义它:

选项 1:编写不带主题的自定义消息。即 really can't be blank
选项 2:像以前一样用完整的句子写下消息,但请参阅 message仅在 View 中,而不是 full_message
例子:
<% @hikingtrail.errors.messages.each do |msg| %>
<li><%= msg %></li>
<% end %>

引用: http://rubydoc.info/docs/rails/3.2.8/ActiveModel/Errors ( full_message 只不过是 attributemessage 的混合)

关于ruby-on-rails-3 - 自定义模型验证错误消息警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15695811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com