2012-07-02 8 views
11

私はcontact.html.twigと呼ばれるビューを持っています。それはいくつかのテキストフィールドを持つフォームを持っています。私はjavascriptを使用して、フィールドのどれもが空でないことといくつかの他のルールがないことを検証したい。しかし、どこに.jsを定義するのかはわかりません。私はTwig表記を使って.jsスクリプトを呼び出す方法も知らない。Symfony2/Twigでのjavascriptの使用

答えて

24

はこれがない、具体的検証一部... JavaScriptを処理する方法のための一般的な答えです。で

{% javascripts 
    '@SOTBCoreBundle/Resources/public/js/user.js' 
%} 
    <script src="{{ asset_url }}"></script> 
{% endjavascripts %} 

を:私はその後、assetic使用して、私の基本テンプレートにこれらのファイルを含める

(function ($) { 

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

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

      // handle deleting an item... 
     }); 
    } 
}); 

:私が使用したアプローチは、そうのようなバンドルResources/public/jsディレクトリにプラグインとして独立したJSファイル内の個々の機能を格納することです私が持っている私のページに続いて$(document).ready();

<script> 
    $(document).ready(function() { 
     {% block documentReady %}{% endblock documentReady %} 
    }); 
</script> 
</body> 

ため<body>の最後のブロックを持っている私のベーステンプレート「ユーザー管理」機能は、私はそうのようなUSERADMIN関数を呼び出すことができます。

{% block documentReady %} 
    {{ parent() }} 
    $('#user-form').userAdmin(); 
{% endblock documentReady %} 
+0

非常に良いでは動作しません - あなたに感謝します – someuser

1

クライアント側の検証では基本的なHTML5の機能ではありませんか?フォームコンポーネントによって提供されます。あなたもチェックできます。

+2

HTML5の検証はすべてのブラウザ – Aris

関連する問題