2012-07-02 18 views
11

Contact.html.twig adlı bir görünüm var. Bazı textfields ile bir form var. Alanların hiçbirinin boş olmadığını ve diğer bazı kuralların geçerli olduğunu doğrulamak için javascript kullanmak istiyorum. Ama .js'yi tanımlarla nereye koyacağımı bilmiyorum. Twig gösterimini kullanarak .js betiğini nasıl arayacağımı bilmiyorum.Symfony2/Twig'de javascript kullanımı

cevap

24

Bu değil özellikle doğrulama parçası ... javascript nasıl işleneceğini için genel bir cevaptır.

(function ($) { 

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

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

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

Sonra assetic kullanarak taban şablonda bu dosyaları şunlardır:

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

yılında kullandığım yaklaşım Resources/public/js dizin şöyle demetler halinde eklentileri olarak ayrı JS dosyaları tek tek işlevselliği saklamaktır benim baz şablon ben vardır benim sayfa Sonra $(document).ready();

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

için <body> sonunda bir blok var "Kullanıcı yönetici" işlevselliği ben şöyle userAdmin işlevini çağırabilirsiniz:

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

Çok güzel için çalışmaz - teşekkürler – someuser

1

İstemci tarafı doğrulamanız için temel HTML5 işlevselliği yeterli değil mi? Form bileşeni tarafından sağlanır. Ayrıca kontrol edebilir:

+2

html5 doğrulama tüm tarayıcılar – Aris