form_with 客户端验证

form_with 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" %>

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

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

https://github.com/wmavis/so_rails_client_side_validations

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

对我不起作用

搜索“client_side_validations form_with”出现了这个 link:

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

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

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