突出显示 form_tag 中的错误字段-6ren"> 突出显示 form_tag 中的错误字段-我想在发生错误时突出显示我的输入字段,我完全知道如何在 form_for(rails do it) 中做到这一点。我在谷歌上搜索它,它只是告诉我 field_error_proc 的事情,但似乎该功能-6ren">
gpt4 book ai didi

ruby-on-rails - 如何使用
突出显示 form_tag 中的错误字段

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:02 24 4
gpt4 key购买 nike

我想在发生错误时突出显示我的输入字段,我完全知道如何在 form_for(rails do it) 中做到这一点。我在谷歌上搜索它,它只是告诉我 field_error_proc 的事情,但似乎该功能在 form_tag 中不起作用,这是我的代码:

<%= form_tag({controller: :user, action: :change_password, id: current_user.id}, {method: :patch}) do %>
<%= render 'shared/error_messages', object: @user %>
<h5>Old password:</h5>
<%= password_field_tag :password %>
<% end %>

最佳答案

错误

我们使用了一些 hacky 的努力实现了这一点 here (单击顶部的“注册”并尝试在没有数据的情况下提交):

#app/views/controller/your_form.erb
<%= form_tag ...... do %>
<%= content_tag :div, @user.errors[:attribute], class: "error" if @user.errors[:attribute].present? %>
<% end %>

每次将对象返回到经过验证的 View 时,它都应该有一个 errors object。附上。

我不确定这是否可以直接与 form_tag 一起使用,但我确实知道它可以与 form_for 一起使用(您可能希望调查)。您应该阅读 ActiveModel::Errors 对象,当它们从验证返回时附加到模型对象

--

实现

如果您使用我在上面创建的代码,它基本上允许您显示分配给您的属性的任何错误,当它们存在时。

大多数人会推荐您使用 @object.errors.full_messages 方法 - 它基本上会显示您收到的错误的完整消息。这些 full_messages 基本上给你 attribute | message - 这意味着如果您遍历 errors 对象,它应该允许您单独引用每个属性

如前所述,您可以在我上面的链接中看到这个想法的演示!

关于ruby-on-rails - 如何使用 <div class ="field_with_error"> 突出显示 form_tag 中的错误字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24546016/

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