在我的设计注册表中,我添加了一个需要占用12位数的新字段。为了防止输入非数字,我使用了问题8481132的jquery解决方案,它可以工作。
对于限制为12位数,我使用maxlength如下:
<div class="field">
<%= f.label :vat_no, "VAT" %><br/>
<%= f.number_field :vat_no, :maxlength => 12 %>
</div>
生成的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)很乐意允许任意数量的数字。
答案 0 :(得分:0)
查看this页面。而不是:maxlength => 12
,你可以这样做:
<%= f.number_field :vat_no, :max => 999999999999, :min => -999999999999 %>
...因为999999999999是最高的12位数字,而-999999999999是最低的。