【问题标题】:Need to specify max length for numeric filed type in simple_form需要在 simple_form 中指定数字字段类型的最大长度
【发布时间】:2020-07-29 12:47:09
【问题描述】:

我需要限制用户为我的一列指定长度输入唯一的整数。

<%= f.input :value, as: :numeric, :input_html => { :maxlength => 4 } %>

以上内容适用于 UI 中的字符串类型字段,但是当我添加数字以限制字母数字输入时,最大长度不起作用。

期望将输入限制为最大 4 个字符,并且应该只输入正数

【问题讨论】:

    标签: ruby-on-rails simple-form erb simple-form-for


    【解决方案1】:

    如果您的“值”属性是一个整数,则无需以简单形式指定“as”,因为它会自动为您处理:

    <%= f.input :value, as: :integer, input_html: { min: '0', max: '9999', step: '1' } %> 
    #If you want decimals you can change :step to 'any'
    

    我个人的偏好是使用jquery-mask:https://igorescobar.github.io/jQuery-Mask-Plugin/docs.html

    在您看来,您可以像这样应用它(假设 turbolinks 没有被禁用):

    $( document ).on('turbolinks:load', function() {
      $('#input-id-here').mask('0000');
    })
    

    【讨论】:

    • bkunzi01 value 是字符串类型。
    • 谢谢@bkunzi01,但minmax 无法正常工作,因为我可以更新超过 4 位数字
    • 最简单的解决方案是在您的模型中使用验证并将 jquery 掩码添加到您的视图中。我使用此插件进行屏蔽:igorescobar.github.io/jQuery-Mask-Plugin/docs.html 我会将其添加到答案的底部,因为它可以满足您的需求,但并不完全符合您的要求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 2020-01-05
    • 2012-04-14
    • 2013-11-19
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多