Cakephp uniek record en datavalidatie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rolf -

Rolf -

15/10/2012 22:42:46
Quote Anchor link
Hoi allemaal,

Ik ben net begonnen met cakephp en ben maar gelijk begonnen met iets te maken.
Ik heb nu een formulier waar cakephp de velden controleert.

Daarbij wilde ik ook controleren op unieke records, zodat niet zomaar iets dubbel toegevoegd kan worden.

Nu heb ik de volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
public function addcontact()
    {

        if ($this->request->is('post'))
        {

            if ($this->Contact->isUnique('contact', $this->data['Contact']['contact']) and $this->Contact->isUnique('zip', $this->data['Contact']['email']))
            {

                if($this->Contact->save($this->request->data))
                {

                    $this->Session->setFlash('Contact is toegevoegd!');
                    $this->redirect(array('action' => 'index'));
                }
else {
                    $this->Session->setFlash('Contact kon niet worden toegevoegd. Kijk of alles goed ingevuld is of probeer later opnieuw');
                }
            }

            else
            {
                $this->Session->setFlash('Contact bestaat al!');
            }
        }
    }

?>


Nu is het probleem dat als ik niks invul eerst wordt gecontroleerd op dubbele contacten en ik de melding krijg contact bestaat al. Deze melding blijft hij geven totdat ik een uniek contact invul. Pas daarna gaat hij controleren of de velden correct zijn ingevuld.

Iemand enig idee hoe ik dit om kan draaien. Dus dat eerst wordt gekeken of alle velden juist zijn ingevuld en daarna pas wordt gecontroleerd of het contact uniek is?

Alvast bedankt voor de moeite!
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.