お問い合わせフォームを作成していて、簡単な検証ルーチンをいくつか追加したいと思います。このページのアクションは次のようになります。
public function contact() {
$this->loadModel('Contact');
$this->set('pageTitle', 'Contact me');
}
Contact
モデルは次のとおりです。
<?php
class Contact extends AppModel {
public $useTable = false;
public $validate = array(
'name' => array(
'between' => array(
'rule' => array('between', 1, 60),
'message' => 'Between 1 and 60 characters in length'
)
),
'email' => array(
'kosher' => array(
'rule' => 'email',
'message' => 'Please make sure your email is entered correctly'
),
),
'message' => array(
'between' => array(
'rule' => array('between', 1, 65000),
'message' => 'Between 1 and 65000 characters in length'
)
)
);
}
そして最後に私のビューページ:
<?php echo $this->Form->create('Contact'); ?>
<?php echo $this->Form->input('name'); ?>
<?php echo $this->Form->input('email'); ?>
<?php echo $this->Form->input('message', array('type' => 'textarea')); ?>
<?php echo $this->Form->end(array('label' => 'Send', 'class' => 'btn btn-primary')); ?>
ただし、間違った値でフォームを送信すると、検証ルーチンが呼び出されず、エラーメッセージが表示されません。
Cakeにフォームを検証させるにはどうすればよいですか?