I'm new to CakePHP and I have followed tutorial from their www. Now I'm making simple application and I stuck in validating form, I read about validating form here.
Controller:
class DevicesController extends AppController {
public $helpers = array('Html', 'Form', 'Session');
public $components = array('Session');
public function add()
{
if ($this->request->is('post')) {
$this->Device->create();
$this->Device->set($this->request->data);
if ($this->Device->validates()) {
if ($this->Device->save($this->request->data)) {
$this->Session->setFlash(__('feedback'));
return $this->redirect(array('action' => 'index'));
} else {
// didn't validate logic
$this->Session->setFlash($this->Device->validationErrors);
}
}
$this->Session->setFlash(__('feedback'));
}
}
Model:
class Device extends AppModel {
public $validate = array(
'user' => array(
'alphaNumeric' => array(
'rule' => 'alphaNumeric',
'required' => true,
'message' => 'Alphabets and numbers only'
),
'between' => array(
'rule' => array('between', 5, 15),
'message' => 'Between 5 to 15 characters'
)
),
'manufacturer' => array(
'rule' => 'date',
'message' => 'Enter a valid date',
'allowEmpty' => true
),
'mac' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Nick name is required.'
)
)
);}
View:
echo $this->Form->create('Device');
echo $this->Form->input('user', array('label' => 'Urzytkownik'));
echo $this->Form->input('mac', array('label' => 'MAC'));
echo $this->Form->input('manufacturer', array('label' => 'Producent'));
Even when I will not fill the form it successfully passed validation process. What I'm doing wrong here ?