form_with客户端验证

时间:2018-06-14 09:53:09

标签: ruby-on-rails ruby client-side-validation

我正在使用客户端验证gem。并按照规定运行了所有说明以使验证正常工作,但验证在我的表单上不起作用。

我的表格:

<%= form_with(model: profile, local: true, method: :patch, multipart: true, validate: true) do |form| %>

我按照文件中的说明放了validate: true

而不是在我的模型中进行验证:

  validates :name, :email, presence: true, length: { maximum: 10 }, if: :can_validate?

  def can_validate
    true
  end

文档说你可以强制使用我所做的表格:

在我的文本字段中,我已应用验证:

<%= form.text_field :name, validate: { presence: true }, id: :profile_name, class:"input is-large" %>

但验证根本不起作用,没有错误信息。

1 个答案:

答案 0 :(得分:1)

我创建了一个repo来自己重现你的问题:

https://github.com/wmavis/so_rails_client_side_validations

如果我使用form_for,看起来client_side_validations对我有用,但如果我使用form_with,则对我不起作用:

enter image description here

搜索“client_side_validations form_with”会显示此链接:

https://github.com/DavyJonesLocker/client_side_validations/issues/696

对您而言,最简单的解决方案似乎是使用form_for。如果您需要使用form_with,似乎开发人员可能正在开发解决方案或者在另一个分支上编写一个代码。

让我知道它是否有效或是否需要更多帮助。