ich hab da irgendwie ein kleines Problem mit der automatischen Formular-Validierung von CakePHP. Benutze den RC3 (Version 2.0). Ich hab die letzten paar Stunden damit verbracht den Fehler zu suchen, aber entweder sehe ich den Wald vor lauter Bäumen nicht mehr oder ich bin echt am Ende mit meinem Latein was das betrifft ...
Und zwar hab ich folgende Validierung:
(http://pastebin.com/HfgH3C5k)
oder hier ..
- Code: Alles auswählen
- var $validate = array(
'loginname' => array(
'minCharactersRule' => array(
'rule' => array('minLength', 3),
),
'alphaNumericRule' => array(
'rule' => 'alphaNumeric',
),
'uniqueRule' => array(
'rule' => 'isUnique',
),
'on' => 'create',
'required' => true,
'allowEmpty' => false,
),
'password' => array(
'minCharactersRule' => array(
'rule' => array('minLength', 5),
),
'required' => true,
'allowEmpty' => false,
),
'email' => array(
'emailRule' => array(
'rule' => array('email'),
),
'uniqueRule' => array(
'rule' => 'isUnique',
),
'required' => true,
'allowEmtpy' => false,
),
'display_name' => array(
'betweenRule' => array(
'rule' => array('between', 3, 20),
),
'uniqueRule' => array(
'rule' => 'isUnique',
),
'required' => true,
'allowEmpty' => false,
),
'registered' => array(
'rule' => array('date', 'ymd'),
'required' => false,
'allowEmpty' => false,
'on' => 'create'
),
'status' => array(
'rule' => 'numeric',
'required' => false,
'allowEmpty' => false,
'on' => 'create'
),
);
(Fehlermeldungen wurden zwecks i18n im View definiert)
Zu meinem Problem:
Fall 1: Ich gebe nichts ein, es werden Fehlermeldungen ausgespuckt, alles ok.
Fall 2: Ich gebe alle Werte gewissenhaft ein, die Validierung SOLLTE eigentlich keine Fehler ausgeben, allerdings krieg ich dann überall "(required)" Fehlermeldungen. debug($this->User->validationErrors) gibt folgendes:
- Code: Alles auswählen
(Vorab: Ich weiß was der Unterschied zwischen required und allowEmpty ist)
Außerdem tauchen auch noch ganz hässliche Warnings auf:
- Code: Alles auswählen
- Warning (2): preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash [CORE/Cake/Model/Model.php, line 2981]
Warning (2): preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash [CORE/Cake/Model/Model.php, line 2981]
Warning (2): preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash [CORE/Cake/Model/Model.php, line 2981]
Warning (2): preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash [CORE/Cake/Model/Model.php, line 2981]
Als ich das zum ersten Mal sah, hab ich auf einen Tippfehler spekuliert. Aber nach mehrmaligem Durchsehen konnte ich nichts finden. Oder hab ich doch etwas übersehen (wie gesagt sitze schon ein paar Stunden dadran und komme nicht weiter).
Hat jemand das selbe Problem (gehabt und gelöst)?
Danke schon mal für konstruktive Beiträge.
Gruß,
nahri