【问题标题】:Applying a input mask in Rails在 Rails 中应用输入掩码
【发布时间】:2020-07-24 22:51:51
【问题描述】:

我正在学习 Rails,并且正在为我的项目构建一个管理 API。视图上有一个 _form.html.erb,我需要屏蔽一些像这样的字段输入:

<div class="field">
  <%= form.label :cnpj %>
  <%= form.text_field :cnpj %>
</div>

输入值:12345678000123
输入时显示值:12.345.678/0001-23

我找到了一些涉及 js 和 jquery 插件的解决方案,但我没有设法解决它们(因为我不熟悉使用 js/jquery 插件)。屏蔽这些字段的最佳方法是什么? 提前致谢。

【问题讨论】:

  • “面具”是什么意思?您要隐藏输入还是禁用它们?
  • 我认为他需要为用户显示一种格式,例如 _ _ _ - _ _ _ - _ _ _ _ 表示电话号码,当他们输入时 _ 会消失。他可能可以拉 html5 输入 + 模式匹配 + 占位符。
  • 正如 NickM 所说,我需要格式化输入。

标签: ruby-on-rails rails-admin input-mask


【解决方案1】:

您将为此使用 Javascript(vanilla、jQuery、Angular、React 等)。有多种方法可以引入库/框架。

如果您使用的模型是公司,那么表单元素 ID 将为“company_cnpj

您的元素将呈现为

<input type="text" name="company[cnpj]" id="company_cnpj">

根据使用的库,您可以设置基本掩码:

$(function() {
  $('#company_cnpj').inputmask({ mask: "(123) 456-7890" });
});

https://github.com/RobinHerbots/Inputmask 让您可以选择通过数据属性直接传入正则表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多