2017-05-05 3 views
2

ソリューション:symfonyの3.1.1に入力されたテキストフィールドにマスクを追加し、フォーム

それを解決!作者経由でプラグインをインストールする代わりに、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桁ポイント 3桁ポイント 3桁スラッシュ 2桁です。

入力IDを参照するjavascriptを使用しようとしましたが、成功しませんでした。

+0

はプレースホルダでそれを試してみましたか? FormBuilder型ファイル –

答えて

2

このjqueryプラグインを使用してください。フォームで

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

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

はい、私はこれを試しました。しかし、Symfony 2.8が必要です。私は3.1バージョンを使用しています。 これはコンポーザ経由でインストールしようとしたときに表示されるメッセージです。 "it/input-mask-bundle 1.1.0にはsymfony/framework-bundle〜2.8が必要です" –

+0

バンドルを使用しないでください。スクリプト内のjsファイルを使用し、他のjqueryプラグインと同様に、「data-mask」を使用してすべての入力に使用できます。 – rafrsr

0

プレースホルダを意味しますか?その場合、フォームクラス:

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

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

に「attr」:{'class': 'formularioRegistrio'、 'placeholder': '___.___.___.__'}}) 'またはそれ以上の値を追加すると、プレースホルダー属性の問題は、ユーザーが入力を開始して所定の形式を強制しないと、これは表示されなくなります(ただし、バックエンドの検証後には必ずこれを実行してください)。プレースホルダオプションは、ユースケースに基づいて十分であるかもしれませんが、おそらくhttps://igorescobar.github.io/jQuery-Mask-Plugin/(プレースホルダオプションの例)のようなより洗練されたものが彼が探しているものです – Joe

+0

Joe isこのプレースホルダーでは、十分ではありません。しかし、私はこのバンドルをインストールするためにトライして、Symfony 2.8が必要です。私は3.1バージョンを使用しています。 –

関連する問題