Ответ 1
Это общий ответ за то, как обращаться с javascript... не в частности с частью проверки. Подход, который я использую, заключается в том, чтобы хранить отдельные функции в отдельных файлах JS в виде плагинов в каталоге пакетов 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 %}