【问题标题】:Abide Required tag in simple-form without "data-"遵守没有“data-”的简单形式的必需标签
【发布时间】:2016-07-25 18:40:56
【问题描述】:

对于 Foundation 6 和 Abide,我希望以简单的形式使用此标签:

<input class="string optional" pattern="text" type="text" name="service[street_address]" id="service_street_address" required>

带有required 属性。

我试过这个:

<%= service.input_field :street_address, data: {:required => ''}, pattern:"text" %>

required 标记变为data-required 并破坏了Abide 验证:

<input data-required="" class="string optional" pattern="text" type="text" name="service[street_address]" id="service_street_address">

有没有办法只有requiredrequired=""

【问题讨论】:

    标签: ruby-on-rails simple-form zurb-foundation-6


    【解决方案1】:

    如果需要:true 不起作用,请尝试:

    &lt;%= service.text_field :postal_box, required: "required", pattern: "text" %&gt;

    【讨论】:

      【解决方案2】:

      “必需”变为“需要数据”,因为您已将其放入 data: {}。 data: {} 所做的是为您创建 data-* 标签。因此,最终输入是“需要数据的”也就不足为奇了。如果您正在寻找“必需”,那么您使用了错误的方法。

      使用普通的 form_for 标记,您可以将属性作为选项传递到哈希中,如下所示:

      &lt;%= service.input_field :street_address, required: true, pattern:"text" %&gt;

      使用 simple_form,因为 simple_form 会自动创建包装器和标签,所以您必须明确说明您正在将属性添加到 input,如下所示:

      &lt;%= service.input_field :street_address, input_html: { required: true }, pattern:"text" %&gt;

      我相信,在您的情况下,input_field 是一个 form_for,而不是一个 simple_form 标签。所以尝试第一种方法,如果不起作用,请尝试第二种。

      (作为旁注,您会注意到它产生的输入有这个 html:

      &lt;input required="required"&gt;

      代替:

      &lt;input required&gt;

      但这些完全一样)

      【讨论】:

      • 感谢 Samy 的回答,我已经尝试了这两种方法,但第一个结果是 class="string required",第二个结果是 input_html="{:required=>true}"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多