Javascript 带APY DataGridBundle的Symfony中的trim()

Javascript 带APY DataGridBundle的Symfony中的trim(),javascript,php,symfony,datagrid,twig,Javascript,Php,Symfony,Datagrid,Twig,在使用APY数据网格包的表单中,我很难从输入的末尾去掉空格。我的怀疑是,如果不破解源代码,这可能是不可能的,但我希望有第二种意见,可能还有一些解决方法的想法。很简单,如果在搜索中添加了一个额外的空白字符,搜索将不提供任何结果,因此我需要在它进入查询之前对其进行修剪 通常修剪在细枝上效果很好,如下所示: {{ 'foo'|trim }} 然而,使用上述datagrid的这一点并不重要 {{ filterColumn(grid, 'foo'|trim) } 我曾尝试在实体中处理它(APY的工作

在使用APY数据网格包的表单中,我很难从输入的末尾去掉空格。我的怀疑是,如果不破解源代码,这可能是不可能的,但我希望有第二种意见,可能还有一些解决方法的想法。很简单,如果在搜索中添加了一个额外的空白字符,搜索将不提供任何结果,因此我需要在它进入查询之前对其进行修剪

通常修剪在细枝上效果很好,如下所示:

{{ 'foo'|trim  }}
然而,使用上述datagrid的这一点并不重要

{{ filterColumn(grid, 'foo'|trim) }
我曾尝试在实体中处理它(APY的工作方式是将项目直接从实体转移到细枝),但没有成功。在供应商文件中查找代码是如何获取筛选字符串并转换为查询的,并且在整个过程中似乎没有任何地方可以编辑字符串

我正在寻找替代的解决方案,比如在发布变量之前使用javascript对其进行修剪(对于需要javascript的问题来说,这不是一个大问题;这是一个内部应用程序,这里的所有用户都安装了它)。然而,事实证明,这也很困难。我一直在尝试这样的事情:[更新以获得更好的代码]

var oldValue = document.forms[0].querySelector('input[id$="foo__query__from"]').value;
var newValue = oldValue.trim();
document.forms[0].querySelector('input[id$="foo__query__from"]').value = newValue;
然而,它似乎仍然有同样的问题。问题是,似乎只有通过修改供应商文件才能解决,这a)我不愿意这样做,b)无论如何都不会工作,因为它们不会以相同的方式部署

注意,在处理之前很难调用实际形式;APY没有使用典型的表单文件(例如formbuilder)。我所能做的就是
{{filterColumn(grid,'foo')}


解决方案/建议将不胜感激。

经过一段时间的重温,提出了一个javascript解决方案。使用此解决方案可以解决问题,并对应用程序中的所有表单进行全局处理

   $('form').submit(function(){
        $(this).find('input').each(function(){
            $(this).val($.trim($(this).val()));
        });
    });

我的建议是将var包装成parantises
{{filterColumn(grid,(foo | trim))}
@DarkBee谢谢你的想法,但是这样它根本无法识别变量。我尝试了
{filterColumn(grid,('foo'| trim))}
这使页面能够再次返回,但是它的结果相同,没有从搜索中删除空格。您是否尝试将其设置为临时变量:
{%set variable='variable'| trim%}
然后将其传递给filterColumn?@dbrumann感谢您的建议,但是它有相同的结果。我有一种预感,您可能必须使用它,因此我查看了该捆绑包,以便更仔细地查看filterColumn,但是在中没有对它的引用。您可以从您的视图中展开该片段吗?