**Description**

I have a simple form on every page of my site - a single input and a submit button. The point is just for the user to enter his/her email address and hit submit.

It works if the data is an email address - but if it's not a valid email address, it submits the form, the page reloads (or whatever), and the flash message comes up instead of my model's more specific "not a valid email" error.

**Question:**

So, how do I use the model's validation message instead of the controller's generic one?

**The form:**

```
echo $this->Form->create('Email', array('class'=>'form1', 'url'=>'/emails/add', 'inputDefaults'=>array('label'=>false))); 
echo $this->Form->input('Email.email');
echo $this->Form->end('SIGN-UP');

```

**The email controller "add" function (or method?):** 

```
function add() {
    if (!empty($this->data)) {
        $this->Email->create();
        if ($this->Email->save($this->data)) {
            $this->Session->setFlash(__('The email address has been saved', true));
            $this->redirect($this->referer());
        } else {
            $this->Session->setFlash(__('The email address could not be saved. Please, try again.', true));
            $this->set('error', 'custom error here');
            $this->redirect($this->referer());
        }
    }
}

```

**And the email model:**

```
class Email extends AppModel {
var $name = 'Email';

var $validate = array(
    'email'     => array(
        'is_valid'  => array( //named whatever we want
            'rule'      => 'notEmpty',
                'rule'      => array('email', true),
                'message'   => 'Please supply a valid email address.',
                'last'      => true //causes it to not check the next rule if this one fails
        ),
        'is_unique'     => array( //named whatever we want
            'rule'          => 'isUnique',
            'message'       => 'That email address is already in our database.'
        )
    ),
);
}

```