当前位置: 首页 > 知识库问答 >
问题:

基于目标字段类型自定义Symfony表单标签

伍心水
2023-03-14

我正在尝试自定义Symfony表单标签,通过此Symfony文档为所有必填字段添加星号(*)。但是我的星号

任何想法,我如何在标签自定义块过滤它的格式只为父标签。

以下是我的重写代码:

{% block form_label -%}
    {% if label is not sameas(false) -%}
        {% if not compound -%}
            {% set label_attr = label_attr|merge({'for': id}) %}
        {%- endif %}
        {% if required -%}
            {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %}
        {%- endif %}
        {% if label is empty -%}
            {% set label = name|humanize %}
        {%- endif -%}
        <label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>
            {{ label|trans({}, translation_domain) }}
            {% if required %} <span class="required" title="This field is required">*</span> {% endif %}
        </label>
    {%- endif %}
{%- endblock form_label %}

简而言之,我希望在这个块中有一个变量来标识这个标签所针对的字段类型。


共有1个答案

安承教
2023-03-14

嗯,我通过对这个重写块中可用的变量进行一些调整来解决这个问题。下面是我重写的条件代码

    {% if (required) and ( form.vars.checked is not defined ) %}
        <span class="validation-error-star" title="This field is required">*</span>
    {% endif %}

我没有只要求变量作为条件,而是进一步添加了另一个条件,如果为该字段定义了任何检查属性;通常无线电/复选框字段类型具有该属性。

这有助于区分标签覆盖块内的字段类型。希望这对某人有帮助。:)

 类似资料:
  • 本文向大家介绍JSP实现用于自动生成表单标签html代码的自定义表单标签,包括了JSP实现用于自动生成表单标签html代码的自定义表单标签的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JSP实现用于自动生成表单标签html代码的自定义表单标签。分享给大家供大家参考。具体如下: 这个是自己写的一个简单的JSP表单标签,用于自动生成checkbox,select,radio等标签,传入菜单集

  • 问题内容: 我在管理站点中注册了一个模型。它的字段之一是长字符串表达式。我想将自定义表单字段添加到管理中此模型的添加/更新页面,基于这些字段值,我将构建长字符串表达式并将其保存在相关的模型字段中。 我怎样才能做到这一点? 更新:基本上我正在做的是从符号中构建数学表达式或字符串表达式,用户选择符号(这些是自定义字段,不属于模型的一部分),然后单击“保存”,然后从符号列表并将其存储在数据库中。我不希望

  • 默认情况下,消息:此值无效。这是不够的。我正在向实体中的每个属性添加@Assert,以进行更具体的验证。 我将在表单顶部全局显示错误,而不是单独显示错误,以防在本次讨论中出现问题。 这是迄今为止我所知道的,但当我输入值“D44.33”时,表单仍然无效 如何覆盖默认的“类型”验证器?请注意,其他验证器(如GreaterThanOrEqual)的工作原理与预期相同,但就我而言,我无法让“类型”工作??

  • 我想在我的Wordpress帖子中添加一个“Post Author”选择选项。我不想在Wordpress中创建30个左右不同的用户,而是想用自定义帖子类型(staff)的所有标题填充一个ACF下拉选择字段。 我发现这段代码用于输出自定义帖子类型标题列表。。。 ...我从一篇关于动态填充选择框的ACF文章中找到了这段代码... ...但是,我真的不知道如何将这两个字段拼接在一起,以便它能够获取我的自

  • 我使用这段代码来最大化和恢复我的自定义表单。但是当窗体最大化时,它仍然可以拖动,我使用计时器来拖动窗体。