如何从自定义视图模板访问cakephp模型验证

时间:2015-01-27 21:12:07

标签: cakephp cakephp-2.0

我创建了一个'表格'用于烘焙自定义主题视图的模板(Cake 2.6.0)。我试图从Model的$ validate数组中访问字段属性。但是,访问$ model-> validate会显示一个空数组。我的模型有几个字段,其中定义了规则的$ validate属性。

烘焙自定义视图时是否无法访问$ validate属性?如果没有,我如何确定是否需要字段,或者它是否使用' rule =>' ' url',例如?

1 个答案:

答案 0 :(得分:1)

cake bake view使用的视图模板是class TemplateTask的实例,无法直接访问模型,视图或控制器。您要做的是将控制器导入自定义视图模板:

Console\Templates\[themename]\views\[template].ctp

<?php
// The Controller's name
$controllerName = Inflector::pluralize($modelClass).'Controller';

// Import the Controller
App::import('Controller', $controllerName);

// Instantiate the Controller
$Controller = new $controllerName();

// Load the Controller's classes
$Controller->constructClasses();

//...the rest of your template

您现在可以访问您的控制器@ $Controller。要访问验证属性,请使用$Controller->{$modelClass}->validate