Without looking at your data model, I can't say for sure, but it would
seem like you may be breaking a rule that is implied by the table.

That said, you might want to add a message to your $validate like:

            'last_name'  => array(
                'alphaNumeric' => array(
                    'rule' => 'alphanumeric',
                    'message' => 'Only letters and numbers for last
name, please try again.'
            ),
        )

On Dec 17, 2:56 am, Oribium <viktor.richard...@gmail.com> wrote:
> I am taking a look at cake 1.2, and I run into problems with the
> validation
> of form data. I took advantage of the console application to bake some
> views, a model, and a controller based on an existing MySQL-database.
> I
> don't yet have a deep understanding of cake, and would happily welcome
> hints and pointers which direction I should go.
>
> I am trying to post data from a form to a database. However, whatever
> data
> I post, I get redirected back to the form, where a label "This field
> cannot
> be left blank" is attached to all fields. For instance if I fill the
> alphanumeric field "last_name" with "Jones" (without qoutes), I will
> get
> the error message: "This field cannot be left blank". Futhermore,
> $this->validationErrors contains all fields and the same error
> message. I
> have verified that the correct data from the form are assigned to the
> controller object's data array with Configure::write('debug', 3);
>
> The view is just a simple form like:
>
> echo $form->create('Lead');
> echo $form->input('last_name');
> echo $form->input('modified_user_id');
> ... quite a few more fields here ...
> echo $form->end('Submit');
>
> There are also a few form fields added with pure html code. These
> fields
> are not supposed to be posted to the database, neither be validated
> with
> the standard cake validation feature.
>
> In the model, there is nothing but "name" and the validation array.
>
> The model's validation array looks like:
>
> var $validate = array(
> 'last_name' => array('alphanumeric'),
> 'modified_user_id' => array('alphanumeric'),
> --- quite a few more fields here ---
> )
>
> The controller's add function:
>
> function add() {
> if (!empty($this->data)) {
> if ($this->RequestHandler->isPost()) {
> $this->Lead->create();
> $this->Lead->set($this->data);
> if ($this->Lead->save($this->data)) {
> $this->Session->setFlash(__('The Lead has been saved', true));
> $this->redirect(array('action'=>'index'));} else {
>
> $this->Session->setFlash(__('The Lead could not be saved. Please, try
> again.', true));
>
> }
> }
> }
> }
>
> I also tried the following code in the controller: if
> ($this->Lead->validates()) with the same result.
>
> PHP version: 5.1.6
> OS: Linux
>
> CakePHP version:
> $Id: VERSION.txt 7692 2008-10-02 05:06:48Z nate $
>
> libs/model/model.php version:
> $Id: model.php 7690 2008-10-02 04:56:53Z nate $
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to