2012-12-03 74 views
6

我是symfony 2的新手,我試圖構建一個應該由服務器和導航器驗證的標準表單。如何在客戶端驗證Symfony 2表單(javascript)

服務器端驗證與@Assert\...這樣的斷言正常工作,但我找不到一種方法來獲得這在客戶端工作。

搜索後,我指出,Symfony的2不具有javascript庫來管理這個..

所以我的問題是:什麼是最簡單的方法是什麼?

我知道使用客戶端庫像jQuery Validation插件或類似Regula的可能性,但是這將意味着我不得不重複我的驗證規則..

+0

Hello Leto,我是Regula的作者。我做了一些類似於Java中描述的內容,我在其中將JSR-303註釋翻譯爲客戶端上的Regula約束。有可能在PHP中做類似的事情?我對PHP不太熟悉,但它是否提供了在呈現之前截取視圖的方法?如果是這樣,你可以有一個攔截器將'@ Assert'轉換爲regula驗證約束。會從你身邊採取一些工作,但這是你可以走的方向。 :) –

+1

嗨,是的,我想過了,但我只是從SF2開始,我已經痛苦與微不足道的事情,所以我還不夠好做這個工作(此外,我不爲自己工作,所以它不依賴於我)。這就是說,你做regula :) :) – Leto

回答

7

的Symfony是一個PHP框架,即服務器端應用程序框架。它不提供客戶端驗證,除非您使用HTML5,其中required屬性和其他email類型的輸入(在瀏覽器中仍未很好地實現)。

所以你必須找到自己的解決方案,並嘗試將其插入Symfony2的前面,使其儘可能地簡單...或查找現有的包像APYJsFormValidationBundle

+0

好,我試過APYJsFormValidationBundle,但我得到的JavaScript錯誤..是否有其他的選擇? – Leto

+0

最好的選擇是自己做。沒有開放源代碼足以實現它,據我當然知道... – AlterPHP

+0

當然,我想這個,但無法得到任何基本的教程來構造這個,例如我可能differtents形式,使用相同的驗證規則,我不想每次硬編碼。驗證表單是重新獲得的,爲什麼沒有更多的解釋這個問題? – Leto