开发者

Form validation for relational elements

开发者 https://www.devze.com 2023-03-01 19:31 出处:网络
I have a form in CakePHP to save information to multiple models. My first model is \"World\", I have no problem for these fields the validation is correct and it\'s saved correctly to the database.

I have a form in CakePHP to save information to multiple models. My first model is "World", I have no problem for these fields the validation is correct and it's saved correctly to the database. The second model is "Country", I use something like this:

echo $this->Form->input('Country.0.name');

This is correctly saved to the database, but there is no validation (like stairs for required fields) and no automagic (autodetection of the content type). The third model is "Region", I use the same code as for the second one but there is no validation, no automagic and no saving...

Can someone help ?

Thank you, Séb开发者_如何学Pythonastien


Without seeing the rest of your code, I am guessing that you are trying to save multiple countries at the same time. The model expects the data to come in a specific format:

$this->data['Model']['field'];

What you are passing is:

$this->data['Model'][0]['field'];

The model cannot interpret it. The way to resolve this is build a foreach when you collect the data and send each request independently.

foreach($country as $field) {
   $data['Country']['field'] = $field;
   // add other fields that are required

   if($this->Country->validates($data)) {
      $this->Country->create();
      $this->Country->save($data);
   } else {
      // error handling
   }
}

Good luck and happy coding!

0

精彩评论

暂无评论...
验证码 换一张
取 消