2011-09-13 38 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