【问题标题】:How to do Croogo Model Validation ...?如何进行 Croogo 模型验证...?
【发布时间】:2013-07-02 06:05:35
【问题描述】:

我在我的项目中使用 Croogo 1.5.2。我是croogo系统的新手。 Croogo文件夹路径是这样的,/My_project/app/Plugin/Croogo/ 在 Plugin 文件夹中,我创建了名为 Plugin/My_folder 的新文件夹。 在那个文件夹中,我创建了 My_controller 和 action add()。我还为 add() 创建了包含表单的视图文件。 现在面临的问题是,我无法为我的表单实现模型验证。 My_model.php 包含如下,

App::uses('AppModel', 'CroogoAppModel');
/**
 * MY_model Model
 *
 */
class MY_model extends AppModel {

/**
 * Validation rules
 *
 * @var array
 */

    public $validate = array(
        'first_name' => array(
            'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'Your custom message here',
            )
        )   
    );
}

模型路径正确。但它没有验证表单字段。

如果有人知道答案,请帮助我。 提前致谢。

【问题讨论】:

  • 你是否在将数据保存到db之前设置了请求数据??
  • 是的,在我写的控制器中,$this->MyModel->set($this->request->data); if($this->MyModel->validate){ }

标签: php cakephp cakephp-2.3 croogo


【解决方案1】:

在我们的模型文件中,不需要添加下面的代码行。 App::uses('AppModel', 'CroogoAppModel'); 我们可以直接扩展 AppModel。

然后,我们只需要检查控制器操作中使用的方法来进行模型验证。它的工作原理取决于 cakephp 版本。 例如:$this->Model->validate(), $this->Model->invalidFields();

/**
 * MY_model Model
 *
 */
class MY_model extends AppModel {

/**
 * Validation rules
 *
 * @var array
 */

    public $validate = array(
        'first_name' => array(
            'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'Your custom message here',
            )
        )   
    );
}

它对我有用...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    相关资源
    最近更新 更多