-----Ursprüngliche Nachricht-----
Von: cakep...@googlegroups.com [mailto:cakep...@googlegroups.com] Im
Auftrag von Nghi
Gesendet: Samstag, 5. Juni 2010 22:02
An: CakePHP-de für deutsche CakePHP Entwickler
Betreff: [cakephp-de] Validierung nur für eine Formular
Hallo,
Lg
--
Bitte bei Fragen immer auch die aktuell verwendete cakePHP Version angeben
und
wenn möglich auch das verwendete Betriebssystem und die PHP Version. Danke.
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google
Groups-Gruppe "CakePHP-de für deutsche CakePHP Entwickler".
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an cakep...@googlegroups.com
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an
cakephp-de-...@googlegroups.com
Weitere Optionen finden Sie in dieser Gruppe unter
http://groups.google.com/group/cakephp-de?hl=de
Du kannst folgendes machen : in Model :
class User extends AppModel {
// fuer normale validierung
var $validate = array( ... );
// Benuzt in edit action wie /users/edit/1
var $validateEdit = array( ... );
// benutzt in forgotpassword action wie /users/forgotpassword
var $validateForgotpassword = array( ... );
// benutzt in login action wie /users/login
var $validateLogin = array( ... );
}
In Controller sieht so aus :
class UsersController extends AppController {
function forgotpassword() {
$this->User->set($this->data);
$this->User->validationSet = 'forgotpassword';
if ($this->User->validates()) {
// mach was
}
}
function login() {
$this->User->set($this->data);
$this->User->validationSet = 'login';
if ($this->User->validates()) {
// mach was
}
}
function add() {
$this->User->set($this->data);
$this->User->validationSet = 'add';
if ($this->User->validates()) {
// mach was
}
}
}
function validates($options = array()) {
// copy the data over from a custom var, otherwise
$actionSet = 'validate' . Inflector::camelize(Router::getParam('action'));
if (isset($this->validationSet)) {
$temp = $this->validate;
$param = 'validate' . $validationSet;
$this->validate = $this->{$param};
} elseif (isset($this->{$actionSet})) {
$temp = $this->validate;
$param = $actionSet;
$this->validate = $this->{$param};
}
$errors = $this->invalidFields($options);
// copy it back
if (isset($temp)) {
$this->validate = $temp;
unset($this->validationSet);
}
if (is_array($errors)) {
return count($errors) === 0;
}
return $errors;
}
2010/6/5 Nghi <Ng...@hotmail.de>:
--
Bitte bei Fragen immer auch die aktuell verwendete cakePHP Version angeben und
wenn möglich auch das verwendete Betriebssystem und die PHP Version. Danke.
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google Groups-Gruppe "CakePHP-de für deutsche CakePHP Entwickler".
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an cakep...@googlegroups.com
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an cakephp-de-...@googlegroups.com
Weitere Optionen finden Sie in dieser Gruppe unter http://groups.google.com/group/cakephp-de?hl=de