在Symfony2/Twig中使用javascript

cam*_*ase 12 javascript symfony twig

我有一个名为contact.html.twig的视图.它有一个包含一些文本字段的表单.我想使用javascript来验证没有字段是空的,以及其他一些规则.但我不知道在哪里放置.js的定义.我不知道如何使用Twig表示法调用.js脚本.

MDr*_*tte 24

这是如何处理javascript的通用答案......而不是特别是验证部分.我使用的方法是将单独的功能存储在单独的JS文件中作为bundle Resources/public/js目录中的插件,如下所示:

(function ($) {

    $.fn.userAdmin = function (options) {
        var $this = $(this);

        $this.on('click', '.delete-item', function (event) {
            event.preventDefault();
            event.stopPropagation();

            // handle deleting an item...
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

然后我使用assetic将这些文件包含在我的基本模板中:

{% javascripts
    '@SOTBCoreBundle/Resources/public/js/user.js'
%}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}
Run Code Online (Sandbox Code Playgroud)

在我的基本模板我在年底有一个块<body>$(document).ready();

<script>
    $(document).ready(function () {
        {% block documentReady %}{% endblock documentReady %}
    });
</script>
</body>
Run Code Online (Sandbox Code Playgroud)

然后在我的具有"用户管理"功能的页面中,我可以像这样调用userAdmin函数:

{% block documentReady %}
    {{ parent() }}
    $('#user-form').userAdmin();
{% endblock documentReady %}
Run Code Online (Sandbox Code Playgroud)