Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用基金会来验证文本字段的长度吗?_Javascript_Ruby On Rails_Zurb Foundation - Fatal编程技术网

Javascript 使用基金会来验证文本字段的长度吗?

Javascript 使用基金会来验证文本字段的长度吗?,javascript,ruby-on-rails,zurb-foundation,Javascript,Ruby On Rails,Zurb Foundation,我在Rails应用程序中使用基础,我正在寻找一种方法来验证窗体中文本字段的长度:当文本字段包含太多字符时,我想显示一个错误(但不是空的)。 我尝试使用基金会的“遵守”并创建自定义命名模式,如中所述 这里是我的代码>应用程序.js文件,包括基础初始化时的自定义模式: $(function(){ $(document) .foundation() .foundation('abide', { patterns: { short_field: /^.{

我在Rails应用程序中使用基础,我正在寻找一种方法来验证窗体中文本字段的长度:当文本字段包含太多字符时,我想显示一个错误(但不是空的)。 我尝试使用基金会的“遵守”并创建自定义命名模式,如中所述

这里是我的代码>应用程序.js<代码>文件,包括基础初始化时的自定义模式:

$(function(){ 
  $(document)
    .foundation()
    .foundation('abide', {
      patterns: {
        short_field: /^.{,40}$/,
        long_field: /^.{,72}$/
      }
    }); 
});
以下是我在视图中的表单代码:

<form data-abide>
  <div class="long-name-field">
    <input type="text" pattern="long_field" placeholder="Long Field">
    <small class="error">Too long.</small>
  </div>
  <div class="short-name-field">
    <input type="text" pattern="short_field" placeholder="Short Field">
    <small class="error">Too long.</small>
  </div>
</form>

太长了。
太长了。
问题是,当我加载表单页面时,所有字段都会显示错误消息,无论它们是空的、在字符限制下填充的还是超过字符限制的

有没有人成功地使用bedide做过类似的事情(或者知道一种更好的方法,即不使用自定义命名模式)


干杯。

我终于成功了

问题是,
/^.{,40}$/
不是有效的regexp语法,必须显式使用
/^.{0,40}$/


我把它与
/.{5,}/
语法弄错了,你可以用它来施加一个较低的限制。

我无法让javascript在我的Rails 4应用程序中正常工作,所以我直接添加了regex作为一个属性,如下所示:

<%= text_area_tag 'answer', @current_answer,
        :placeholder => 'required', :required => '', :pattern => '^(.){0,1000}$' %>
'required',:required=>',:pattern=>'^(..{01000}$'%%>
对于仅验证最小长度,我使用:

<%= text_area_tag 'answer', @current_answer,
        :placeholder => 'required', :required => '', :pattern => '^(.){100,}$' %>
'required',:required=>',:pattern=>'^(..{100,}$'%%>

这不适用于带有回车符的文本区域