У меня есть вид, называемый contact.html.twig. Он имеет форму с некоторыми текстовыми полями. Я хочу использовать javascript для проверки того, что ни одно из полей не является пустым, а также некоторые другие правила. Но я не знаю, где поставить .js с определениями. Я не знаю, как вызвать .js script, используя нотацию Twig.
Использование javascript в Symfony2/Twig
Ответ 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 %}
Ответ 2
Является ли базовая функциональность HTML5 достаточной для проверки на стороне клиента? Он предоставляется компонентом Form. Вы также можете проверить: