尝试获取视图中实体中定义的断言值。
使用: Symfony 2.8 奏鸣曲管理员:3.1
我在模型中定义了一个断言:
/**
* @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;
管理表单使用自定义表单类型加载自定义视图:
<?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 %}
我的问题是: 有没有办法访问树枝代码中的断言? 我不想在每个实体的admin类中重新定义它。
感谢您的帮助。
答案 0 :(得分:0)
很难说如果你没有附加form builder它会是什么样子,但获取这些变量的最佳方法(如果它们存在)将是转储形式对象并观察所有变量。 / p>
{{ dump(form) }}
无论如何,你不应该遵循这种方法。最好的选择是编写一个类formBuilder,并在attrs中添加验证约束。取决于类型,它们可能是您从there和内部类型文档中获得的不同类型的完整列表,应该有可用于所选类型的完整属性列表。