在树枝视图中访问 Symfony 断言
Posted
技术标签:
【中文标题】在树枝视图中访问 Symfony 断言【英文标题】:Access Symfony Assert in twig view 【发布时间】:2018-03-27 01:44:57 【问题描述】:尝试获取视图中实体中定义的断言值。
使用: 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 %
我的问题是: 有没有办法访问树枝代码中的断言? 我不想在每个实体的管理类中重新定义它。
感谢您的帮助。
【问题讨论】:
【参考方案1】:如果你不附加form builder,很难说它到底是什么样子,但获取这些变量(如果它们存在)的最佳方法是转储表单对象并观察所有变量。
dump(form)
无论如何你不应该遵循这种方法。最好的选择是编写一个类 formBuilder 并在 attrs 添加验证约束。取决于类型,它们可能是您可以从there 获得的不同类型的完整列表,并且在类型文档中应该有可用于所选类型的完整属性列表。
【讨论】:
以上是关于在树枝视图中访问 Symfony 断言的主要内容,如果未能解决你的问题,请参考以下文章