Jquery Rails表单:如何限制输入字段中的字符数(位数)

Jquery Rails表单:如何限制输入字段中的字符数(位数),jquery,ruby-on-rails,devise,Jquery,Ruby On Rails,Devise,在我的设计注册表中,我添加了一个新字段,该字段最多需要12位数字。为了防止输入非数字,我使用了问题8481132中的jquery解决方案,它是有效的 为了限制为12位,我使用了maxlength,如下所示: <div class="field"> <%= f.label :vat_no, "VAT" %><br/> <%= f.number_field :vat_no, :maxlength => 12 %> </div

在我的设计注册表中,我添加了一个新字段,该字段最多需要12位数字。为了防止输入非数字,我使用了问题8481132中的jquery解决方案,它是有效的

为了限制为12位,我使用了maxlength,如下所示:

<div class="field">
    <%= f.label :vat_no, "VAT" %><br/>
    <%= f.number_field :vat_no, :maxlength => 12 %>
</div>


12 %>
生成的html是

<div class="field">
    <label for="user_vat_no">VAT</label><br>
    <input maxlength="12" size="12" type="number" value="" name="user[vat_no]" id="user_vat_no">
</div>

增值税
看起来不错。但我的浏览器(MacBook上的Safari)很乐意允许任何数字

签出页面。您可以执行以下操作,而不是
:maxlength=>12

<%= f.number_field :vat_no, :max => 999999999999, :min => -999999999999 %>
9999999999,:min=>-9999999999999%>

…因为99999999999是最高的12位数字,-99999999999是最低的数字。

检查以确定该属性是否可用于您正在使用的操作系统版本。您可能需要创建一个js函数来限制输入的字符数。您使用的是哪个safari版本?根据这一点,它是在9中修复的--@Tasos我的Safari版本是9.0.3,我按照前面提到的编写了一个JQuery函数