1

我正在尝试创建一个简单的登录表单,但是在提交之前遇到了奇怪的验证错误。例如,在注册管理员时,如果我打开设计视图进行注册,我有以下代码:

<h2>Sign up</h2>

<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), novalidate: "novalidate") do |f| %>
  <%= f.error_notification %>

  <div class="form-inputs">
    <%= f.input :email, autofocus: true, input_html: { value: booking_email } %>
    <%= f.input :password, required: true, hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) %>
    <%= f.input :password_confirmation, required: true %>
    <% if params[:invite_token] || params[:organiser_token] %>
      <%= f.hidden_field :booking_id, value: booking_from_params.id %>
    <% end %>
    <% if params[:organiser_token] %>
      <%= f.hidden_field :organiser, value: organiser_registration? %>
    <% end %>
  </div>

  <div class="form-actions">
    <%= f.button :submit, "Sign up" %>
  </div>
<% end %>

<%= render "devise/shared/links" %>

当我尝试登录、注册或执行任何涉及“f.input”字段的操作时,我收到以下错误:

"Please lengthen this text to 255 characters or more, you are currently using 7 characters"

据我所知,没有人在前端或后端添加任何验证。我不允许提交表单,因为当我单击提交时,在将任何内容发送到 Rails 服务器之前会弹出错误消息。

我认为这是 HTML 5 验证,但我不确定.. 我尝试在表单中添加 novalidate 属性,但没有任何乐趣。

如果有人能告诉我如何禁用此验证或找出在我的应用程序中调用它的位置,将不胜感激。在项目中搜索错误消息没有返回任何内容。

提前致谢。

******** 编辑 ********

将 f.input 更改为 f.text_area 会删除验证。如果有人能告诉我在哪里可以找到 simple_form_for 属性的客户端验证,将不胜感激

4

1 回答 1

2

如果有人遇到相同的...运行

rails generate simple_form:install

然后导航到 config/initializers/simple_form.rb,并删除以下 2 行:

b.optional :maxlength
b.optional :minlength

为我修好了。

于 2017-04-24T12:43:45.827 回答