2011-09-13 40 views
3

我試圖用Silex創建一個簡單的表單驗證。由於沒有對形式的擴展沒有官方指南的是,我在下面這個網站上說明:http://dev.umpirsky.com/create-kick-ass-website-in-no-time-with-silex/Silex +表單驗證

出於某種原因,該形式將不能正確地驗證:

$form->isValid() // will always return true 

我花了一些時間尋找解決方案(似乎是一個已知問題),但沒有發現任何有用的東西。

有人遇到這個問題,並知道一個方法嗎?

謝謝!

+0

你可以添加多一點點你的代碼?只是'$ form-> isValid()'什麼也沒說。 – atma

+0

它基本上與此處的實現相同: https://github.com/umpirsky/umpirsky.com/blob/master/src/app.php – amitayh

+0

此示例不包含驗證規則。 Silex表單擴展使用'Symfony \ Component \ Validator \ Validator',所以你必須聲明你自己的驗證規則。請參閱更多Silex [驗證器擴展](http://silex.sensiolabs.org/doc/extensions/validator.html) – atma

回答

4

你可能錯過了註冊驗證擴展

$app->register(new Silex\Provider\FormServiceProvider(), array(
    'form.class_path' => __DIR__ . '/../vendor/symfony/src' 
)); 
$app->register(new Silex\Extension\ValidatorExtension(), array(
    'validator.class_path' => __DIR__.'/vendor/symfony/src', 
)); 
+0

「form.class_path」已被刪除https:/ /github.com/fabpot/Silex/blob/master/src/Silex/Provider/FormServiceProvider.php#L88 – umpirsky