2017-10-15 9 views
0

ビュー内のエンティティで定義されたアサート値を取得してみます。アクセスSymfony Assertをtwigビューで表示

使用: のSymfony 2.8 ソナタ管理者:

/** 
* @var string 
* @Assert\Length(
*  min = 8, 
*  max = 60, 
*  minMessage = "Longer than {{ limit }}", 
*  maxMessage = "Shorter than {{ limit }}" 
*) 
* @ORM\Column(name="title", type="string", length=60) 
*/ 
private $title; 

管理フォームは、カスタムビューをロードするためにカスタムにformTypeを使用します:

私はこのようなモデルでアサートを定義し

3.1

<?php  
namespace CustomBundle\Form; 

use Symfony\Component\Form\AbstractType; 
use Symfony\Component\Form\Extension\Core\Type\TextType; 
use Symfony\Component\Form\FormBuilderInterface; 
use Symfony\Component\OptionsResolver\OptionsResolver; 

class TextCountType extends AbstractType 
{ 

    public function getParent() 
    { 
     return TextType::class; 
    } 


} 

ビュー:

{% block text_count_widget %} 
    {% spaceless %} 
     {{ block('form_widget_simple') }} 
     <script> 
     // some custom live validation 
     // HERE i need access to the Asserts 
    </script> 

    {% endspaceless %} 
{% endblock %} 

私の質問は 小枝コードのアサートにアクセスする方法はありますか? 私はすべてのエンティティの管理クラスでそれを再定義することを心配していません。

ありがとうございました。

答えて

0

form builderを添付していないように見えますが、これらの変数(存在する場合)を取得する最良の方法は、フォームオブジェクトをダンプしてすべての変数を見ることです。

{{ dump(form) }} 

とにかくこの方法に従ってはいけません。最善の選択肢は、formBuilderクラスを作成し、attrsに検証制約を追加することです。タイプによって異なる場合があります。thereから入手できるタイプの完全なリストと、内部のタイプのドキュメントには、選択したタイプに使用可能な属性の完全なリストが必要です。

関連する問題