CakePHP不显示表单验证消息

CakePHP不显示表单验证消息,php,validation,cakephp,Php,Validation,Cakephp,我正在尝试构建我的第一个CakePHP应用程序,当我尝试添加到数据库时,表单验证没有显示,这给我带来了一些麻烦。在提交表单时,我会收到flash消息(如下面的控制器所示),但不会显示单独的验证 型号: class Client extends AppModel { public $validate = array ( 'businessName' => array ( 'mustNotBeBlank'=>array( 'rule'=>'notEmpt

我正在尝试构建我的第一个CakePHP应用程序,当我尝试添加到数据库时,表单验证没有显示,这给我带来了一些麻烦。在提交表单时,我会收到flash消息(如下面的控制器所示),但不会显示单独的验证

型号:

class Client extends AppModel {

public $validate = array (

'businessName' => array (
    'mustNotBeBlank'=>array(
        'rule'=>'notEmpty',
        'message'=>'Must not be empty'
                ),
    'mustBeUnique'=>array(
        'rule'=>'isUnique',
        'message'=>'Name already registered'
                ),
    'maxLength50'=>array (
        'rule'=>array('maxLength', 50),
    'message'=>'Exceeds 50 Characters'
                )
    ),

'address1' => array (
    'mustNotBeBlank'=>array(
        'rule'=>'notEmpty',
        'message'=>'Must not be empty'
                ),
    'maxLength50'=>array (
        'rule'=>array('maxLength', 50),
    'message'=>'Exceeds 50 Characters'
                )
    ),

'address2' => array (
    'mustNotBeBlank'=>array(
        'rule'=>'notEmpty',
        'message'=>'Must not be empty'
                ),
    'maxLength50'=>array (
        'rule'=>array('maxLength', 50),
    'message'=>'Exceeds 50 Characters'
                )
    ),
'address3' => array (
    'mustNotBeBlank'=>array(
        'rule'=>'notEmpty',
        'message'=>'Must not be empty'
                ),
    'maxLength50'=>array (
        'rule'=>array('maxLength', 50),
    'message'=>'Exceeds 50 Characters'
                )
    ),

'postCode' => array (
    'mustNotBeBlank'=>array(
        'rule'=>'notEmpty',
        'message'=>'Must not be empty'
                ),
    'postCode' => array(
            'rule'=>array('postal', null, 'uk'),
            'message'=>'Please enter a valid postcode'
                    )
    ),

'telephone1' => array (
    'mustNotBeBlank'=>array(
        'rule'=>'notEmpty',
        'message'=>'Must not be empty'
                ),
    'maxLength11'=>array (
        'rule'=>array('maxLength', 11),
    'message'=>'Exceeds phone number length'
                ),
    'mustBeNumber'=>array(
            'rule' =>'numeric',
            'message' => 'Must be a number'
                    )
    ),

'telephone2' => array (
    'maxLength11'=>array (
        'rule'=>array('maxLength', 11),
    'message'=>'Exceeds phone number length'
                ),
    'mustBeNumber'=>array(
            'rule' => 'numeric',
            'message' => 'Must be a number'
                    )

    ),

'email' => array (
        'rule'    => array('email', true),
        'message' => 'Please supply a valid email address.'
),

    'domain' => array (
        'rule' => 'url',
        'message' => 'Please supply a valid email address.'
)
);

}
视图(为了简单起见,删除了html):

在控制器中添加操作:

public function add() {
    if ($this->request->is('post')) {
        $this->Client->create();
        if ($this->Client->save($this->request->data)) {
            $this->Session->setFlash('Client has been saved.');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash('Unable to add your post.');
        }
    }
}

再次感谢您的帮助。

您的表单创建标签是

echo $this->form->create();
但应该是

echo $this->Form->create();

请注意大写的F。只需在本地尝试,小写的->表单无法报告错误消息。

请先查看这里的数据库名称。很抱歉,这是在将代码复制到SOOh时出现的一个打字错误,您的表单创建标签就是问题所在。。。echo$this->form->create();应该是echo$this->Form->create();在此处尝试了这两种方法,而小写的方法无法报告错误。我已经更新了我的答案来反映这一点。谢谢你的帮助!
echo $this->Form->create();