Hi,
having a little problem with validation. I am not using a DB. I have
to auth against Web Services. I am currently just working on the login
page trying to get messages to the view when validation fails.

Here is the Model:

class User extends AppModel
{
        var $useDbConfig = 'soap';
    var $useTable = false;

        var $validate = array(
                                        'username' => array(
                                                                                
'required' => true
                                                                                
,'allowEmpty' => false
                                                                                
,'message' => 'Username is required'
                                                                                
)
                                                ,'password' => array(
                                                                                
'required' => true
                                                                                
,'allowEmpty' => false
                                                                                
,'message' => 'Password is required'
                                                                                
)
                                                );
}

Here is the Controller:


class UsersController extends AppController
{
    public $layout = 'login';
    public $fields = array ('username', 'password');


    function index()
    {

    }

    function login()
    {

                // First set the data to the model
                $this->User->set( $this->data );

                // Check for validity
                if($this->User->validates())
                {
                        print 'valid';
                }
                else
                {
                        print 'invalid';
                }
        $this->render('index');
    }

    function logout()
    {

    }
}


So pretty straight forward stuff. However when I submit the form I get
the following error from Cake whether there is data in the fields or
not:

Warning (2): preg_match() [function.preg-match]: Delimiter must not be
alphanumeric or backslash [CORE\cake\libs\model\model.php, line 2431]

Code | Context

$this   =       User
User::$useDbConfig = "soap"
User::$useTable = false
User::$validate = array
User::$displayField = NULL
User::$id = false
User::$data = array
User::$table = "users"
User::$primaryKey = "id"
User::$_schema = NULL
User::$validationErrors = array
User::$tablePrefix = NULL
User::$name = "User"
User::$alias = "User"
User::$tableToModel = array
User::$logTransactions = false
User::$transactional = false
User::$cacheQueries = false
User::$belongsTo = array
User::$hasOne = array
User::$hasMany = array
User::$hasAndBelongsToMany = array
User::$actsAs = NULL
User::$Behaviors = BehaviorCollection object
User::$whitelist = array
User::$cacheSources = true
User::$findQueryType = NULL
User::$recursive = 1
User::$order = NULL
User::$__exists = NULL
User::$__associationKeys = array
User::$__associations = array
User::$__backAssociation = array
User::$__insertID = NULL
User::$__numRows = NULL
User::$__affectedRows = NULL
User::$_findMethods = array
User::$_log = NULL
$options        =       array()
$data   =       array(
        "username" => "",
        "password" => ""
)
$methods        =       array(
        "__construct",
        "call__",
        "bind",
        "bindmodel",
        "unbindmodel",
        "__createlinks",
        "__constructlinkedmodel",
        "__generateassociation",
        "setsource",
        "set",
        "deconstruct",
        "schema",
        "getcolumntypes",
        "getcolumntype",
        "hasfield",
        "create",
        "read",
        "field",
        "savefield",
        "save",
        "__savemulti",
        "updatecountercache",
        "_prepareupdatefields",
        "saveall",
        "__save",
        "updateall",
        "remove",
        "del",
        "delete",
        "_deletedependent",
        "_deletelinks",
        "deleteall",
        "__collectforeignkeys",
        "exists",
        "hasany",
        "find",
        "_findfirst",
        "_findcount",
        "_findlist",
        "_findneighbors",
        "_findthreaded",
        "__filterresults",
        "resetassociations",
        "isunique",
        "query",
        "validates",
        "invalidfields",
        "invalidate",
        "isforeignkey",
        "getdisplayfield",
        "escapefield",
        "getid",
        "getlastinsertid",
        "getinsertid",
        "setinsertid",
        "getnumrows",
        "getaffectedrows",
        "setdatasource",
        "getdatasource",
        "getassociated",
        "joinmodel",
        "beforefind",
        "afterfind",
        "beforesave",
        "aftersave",
        "beforedelete",
        "afterdelete",
        "beforevalidate",
        "onerror",
        "_clearcache",
        "__sleep",
        "__wakeup",
        "findall",
        "findcount",
        "findallthreaded",
        "findneighbours",
        "overload",
        "__call",
        "object",
        "tostring",
        "requestaction",
        "dispatchmethod",
        "_stop",
        "log",
        "_set",
        "cakeerror",
        "_persist",
        "_savepersistent",
        "__openpersistent"
)
$behaviorMethods        =       array()
$Validation     =       Validation
Validation::$check = NULL
Validation::$regex = NULL
Validation::$__pattern = array
Validation::$country = NULL
Validation::$deep = NULL
Validation::$type = NULL
Validation::$errors = array
Validation::$_log = NULL
$_validate      =       array(
        "username" => array(
        "required" => true,
        "allowEmpty" => false,
        "message" => "Username is required"
),
        "password" => array(
        "required" => true,
        "allowEmpty" => false,
        "message" => "Password is required"
)
)
$whitelist      =       array()
$ruleSet        =       array(
        "required" => true,
        "allowEmpty" => false,
        "message" => "Username is required"
)
$fieldName      =       "username"
$default        =       array(
        "allowEmpty" => null,
        "required" => null,
        "rule" => "blank",
        "last" => false,
        "on" => null
)
$validator      =       array(
        "allowEmpty" => null,
        "required" => null,
        "rule" => true,
        "last" => false,
        "on" => null
)
$index  =       "required"
$message        =       "This field cannot be left blank"
$required       =       false
$rule   =       true
$ruleParams     =       array(
        "steve"
)
$valid  =       true

preg_match - [internal], line ??
Model::invalidFields() - CORE\cake\libs\model\model.php, line 2431
Model::validates() - CORE\cake\libs\model\model.php, line 2303
UsersController::login() - APP\controllers\users_controller.php, line
20
Object::dispatchMethod() - CORE\cake\libs\object.php, line 115
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 227
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 194
[main] - APP\webroot\index.php, line 88

Warning (2): preg_match() [function.preg-match]: Empty regular
expression [CORE\cake\libs\model\model.php, line 2431]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to