我有一个名为contact.html.twig的视图。它有一个包含一些文本字段的表单。我想使用javascript来验证没有字段是空的,以及其他一些规则。但我不知道在哪里放置.js的定义。我不知道如何使用Twig表示法调用.js脚本。
答案 0 :(得分: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...
});
}
});
然后我使用assetic将这些文件包含在我的基本模板中:
{% javascripts
'@SOTBCoreBundle/Resources/public/js/user.js'
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
在我的基本模板中,<body>
$(document).ready();
末尾有一个块
<script>
$(document).ready(function () {
{% block documentReady %}{% endblock documentReady %}
});
</script>
</body>
然后在我的具有“用户管理”功能的页面中,我可以像这样调用userAdmin函数:
{% block documentReady %}
{{ parent() }}
$('#user-form').userAdmin();
{% endblock documentReady %}
答案 1 :(得分:1)
基本的HTML5功能不足以进行客户端验证吗?它由Form组件提供。你也可以查一下: