【问题标题】:Add mask in an input text field in Symfony 3.1.1 form在 Symfony 3.1.1 表单的输入文本字段中添加掩码
【发布时间】:2017-05-05 14:26:01
【问题描述】:

解决方案:

解决了!我没有通过composer安装插件,而是手动复制并粘贴了jquery-mask js文件内容并将其导入。 :)

问题:

我需要在 Symfony 3.1.1 表单的文本字段中添加掩码。这是我正在渲染的表单:

{# E-mail // Usuario #}
<div class="row">
    <div class="col-md-5  col-md-offset-1">
        E-mail<span style="color: #217db1;">*</span></br>
        {{ form_widget(form.email, { 'attr': {'class': 'formularioRegistro'} }) }}
        {{ form_errors(form.email) }}
    </div>
</div>

<div class="row">
    {# CPF #}
    <div class="col-md-5 col-md-offset-1">
        CPF (somente números)<span style="color: #217db1;">*</span></br>
        {{ form_widget(form.cpf, { 'attr': {'class': 'formularioRegistro'} }) }}
        {{ form_errors(form.cpf) }}
    </div>
</div>

我想为 CPF 字段添加掩码,该掩码应具有以下格式:“_ _ _ . _ _ _ . _ _ _ - _ _”。我的意思是,“3 位 point 3 位 point 3 位 斜线 2 位”。

我尝试使用 javascript 引用输入 id,但没有成功。

【问题讨论】:

  • 你用占位符试过了吗? 'attr' : {'class': 'formularioRegistrio', 'placeholder': '___.___.___.__'} }) 或更好的在FormBuilder类型文件中添加一个

标签: php symfony mask


【解决方案1】:

使用这个 jquery 插件。

https://igorescobar.github.io/jQuery-Mask-Plugin/

在表格中:

$builder->add(
            'property', TextType::class, array(
            'required' => false,
            'attr' => ['data-mask' => '000.000.000-00']
            'placeholder' => '_ _ _ . _ _ _ . _ _ _ - _ _'
        ));

【讨论】:

  • 是的,我试过这个。但它需要 Symfony 2.8,我使用的是 3.1 版本。这是我尝试通过 composer 安装时收到的消息:“it/input-mask-bundle 1.1.0 requires symfony/framework-bundle ~2.8”
  • 不要使用捆绑包,它已经过时了,在你的脚本中只包含 js 文件,并像任何其他 jquery 插件一样使用所有使用“data-mask”的输入
【解决方案2】:

你是说占位符吗?如果是这样,如果您的表单类:

use Symfony\Component\Form\Extension\Core\Type\TextType;

$builder->add('property', TextType::class, array(
    'required'    => false,
    'placeholder' => '_ _ _ . _ _ _ . _ _ _ - _ _'
));

【讨论】:

  • placeholder 属性的问题是,一旦用户开始输入并且不强制使用给定的格式,它将不再可见(尽管您的后端验证无论如何都应该这样做)。根据用例,占位符选项可能就足够了,但他正在寻找更复杂的东西,例如 igorescobar.github.io/jQuery-Mask-Plugin(带有占位符选项的示例)
  • Joe 在这一点上是对的,占位符是不够的。但是我尝试安装这个包,它需要 Symfony 2.8,我使用的是 3.1 版本。
猜你喜欢
  • 2018-08-02
  • 1970-01-01
  • 2012-10-25
  • 2017-06-25
  • 2014-06-23
  • 2014-06-27
  • 2012-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多