2017-10-15 21 views
0

보기에서 엔티티에 정의 된 어설 션 값을 가져 오십시오.나뭇 가지로보기 Symfony Assert보기

사용 : 심포니 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에서 얻을 수있는 유형의 전체 목록과 내부 형식 문서에는 선택한 유형에 사용할 수있는 전체 속성 목록이 있어야합니다.