Cakephp uniek record en datavalidatie
Rolf -
15/10/2012 22:42:46Hoi 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:
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!
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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!');
}
}
}
?>
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.