使用symfony2中的树枝形式验证表单是否为空/未定义


Validate the form if it is null/undefined using a twig form in symfony2

我正在使用symfony v2.3,并试图验证我的twig表单中的字段是否为空或未定义。这是我的树枝形式:

{{form_start(form)}}
    <p>
         Date 
         {{form_widget(form.date)}}
    </p>
    <p>
        School 
        {{form_widget(form.school)}}
    </p>
    <p>
        City 
        {{form_widget(form.city)}}
    </p>
    <p>
        Name
        {{form_widget(form.name)}}
    </p> 
    <p>
        {{ form_widget(form.save)}}
    </p> 
{{form_end(form)}}

我尝试研究它并发现了一些有趣的东西,但是当我使用树枝作为我的表格时,我不知道该怎么做。如何确定变量是"未定义"还是"空"?我想做这样的事情,但我不知道怎么做。

if(typeof variable_here === 'undefined'){
// your code here.
};

我不确定你想做什么,但是您是否尝试使用树枝定义的测试?

{% if my_var is defined%}
    {# Do smething #}
{% endif %}

Twig 还提供了与 test 相同的功能,相当于 php 中的 ===:

{% if my_var is not same as(null) %}
    {# Do smething #}
{% endif %}

在您的模板中,您可以执行以下操作:

{{form_start(form)}}
{# Check if date field is defined #}
{% if form.date is defined %}
<p>
     Date 
     {{form_widget(form.date)}}
</p>
{% endif %}
{# Check if school field is defined and is not null #}
{% if form.date is defined and form.date is not same as(null) %}
<p>
    School 
    {{form_widget(form.school)}}
</p>
{% endif %}
<p>
    City 
    {{form_widget(form.city)}}
</p>
<p>
    Name
    {{form_widget(form.size)}}
</p> 
<p>
    {{ form_widget(form.save)}}
</p> 
{

{form_end(form)}}

希望这有帮助