【发布时间】:2014-10-10 08:54:43
【问题描述】:
我创建了一个表单,我需要使用模型和控制器进行验证。这是我的表单
index.ctp
<?php echo $this->Form->create('Contact',array('url'=>array('controller'=>'contacts','action'=>'add')));
echo $this->Form->text('name');
型号:Contact.php
class Contact extends AppModel
{
var $name = 'Contact';
var $useTable = false;
public $validate = array(
'name' => array(
'alphaNumeric' => array(
'rule' => 'alphaNumeric',
'required' => false,
'message' => 'Letters and numbers only'
),
'between' => array(
'rule' => array('between', 5, 15),
'message' => 'Between 5 to 15 characters'
)
)
);
}
控制器:ContactsController.php
public function add()
{
$this->Contact->validates();
$this->request->data['Country']['country_name']=$this->request->data['Contact']['country'];
$this->Country->saveall($this->request->data);
$this->redirect('/Contacts/index/');
}
我正在尝试通过谷歌搜索进行验证,但对我来说似乎很难,所以如果有人能描述这个过程,那将是一个很大的帮助。我的 cakephp 版本是 2.3.8。我只需要验证此名称字段,因为当我单击提交时,它会在表单中显示此消息。
【问题讨论】:
-
你的问题很不清楚。另外,请始终提及您的确切 CakePHP 版本并相应地标记您的问题!话虽这么说:book.cakephp.org/2.0/en/models/data-validation/…
-
$this->Contact->validates();根据有效或有效数据返回布尔值 true 或 false,并且还使用 $this->Contact->set($this->request->data);之前 $this->Contact->validates();
-
我也编辑了我的问题,当我在表单提交后将 $this->Contact->validates() 显示给我这个错误致命错误:调用非成员函数 validates()第 74 行 /opt/lampp/htdocs/projects/cake/cakephp/app/Controller/ContactsController.php 中的对象 .. 如果您需要我的更多输入,请告诉我
-
你需要确定你的Contact.php是否加载到controller中,好像Controller忽略了对应的model。
标签: php cakephp cakephp-2.3