2011-05-19 56 views
2

嘿,我们公司正在寻找开始使用FuelPHP作为其主要开发框架。我个人来自CakePHP背景,非常喜欢Cake处理很多事情的方式,比如验证 - 即在模型中设置一次规则,并且所有事情一起工作以遵守规则。但是,看起来他们有一个不同的方法,其中验证规则需要在控制器中设置。这是很多重复的代码 - 即,即使您只有添加编辑操作,这仍然是您需要定义规则的两个地方。FuelPHP中类似CakePHP的验证

因此,我希望有人能够帮助我,并让我知道模型是否可以处理验证?

谢谢:)

+0

你应该将答案标记为已接受,这是7个月大。 – 2012-01-01 17:36:37

回答

3

正如我一直忙于最近,令人遗憾的我还没有得到轮记录了很多。有几个选项:

  1. 创建set_form_fields()与验证使用您传递的字段集类的实例,并应设置所有字段(包括验证)。一个例子可以是found here(尽管基于Fuel的过时版本)。一旦你在模型中有这样一个方法,你可以使用Validation::factory()->add_model('Model_Example') (规则也可以在模型中创建的,与_validation_前缀他们并添加像上面的模型时,你可以使用它们)

  2. 设置验证在奥姆\ Model类的$_properties财产的规则,并添加像1模型(ORM的\型号有set_form_fields()方法建立)

  3. 在ORM \ Observer_Validation添加到你的ORM \型号$_observers财产验证将在保存模型后完成,并在失败时抛出异常。这些错误可以通过类名从验证类在此之后被取出,例如:当Model_Example实例失败,因为验证的节省您可以使用Validation::instance('Model_Example')获取全面验证实例或使用抓取错误Validation::instance('Model_Example')->show_errors()