首页 > 解决方案 > form_with 客户端验证

问题描述

我正在使用客户端验证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" %>

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

标签: ruby-on-railsrubyclient-side-validation

解决方案


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

https://github.com/wmavis/so_rails_client_side_validations

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

在此处输入图像描述

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

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

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

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


推荐阅读