Ah, yes! Sorry about the confusion. I figured they were just turned into 
flash messages by the system. I'll start calling them validation messages. 
I tried converting the message => into an array and specifying a key, but 
it didn't work. Since the validation message is linked to the 'email' input 
name, I'm just confused as to how I use Auth/User stuff in cakephp but 
split it into 'email' and 'email_login' validation stuff. As far as I can 
see Auth needs the input to be called 'email' or else it won't work/check 
the database properly.

On Thursday, April 4, 2013 8:03:03 AM UTC-4, Jeremy Burns wrote:
>
> Oh I see - I was slightly confused. You're talking about validation 
> messages (which are properly handled in the model), not flash messages 
> (which are properly handled by the controller). Let me think about how to 
> do what you want...
>
> Jeremy Burns
> Class Outfit
>
> http://www.classoutfit.com 
>
> On 4 Apr 2013, at 12:58:55, Nathan Pierce <[email protected]<javascript:>> 
> wrote:
>
> Oh, interesting. I've got the User model handling the flash messages. 
> Maybe my logic about this is wrong. 
>
> <?php 
>
> App::uses('AuthComponent', 'Controller/Component');
>
> class User extends AppModel {
>
> //public $primaryKey = 'id';
>
> public $validate = array(
>
>         'full_name' => array(
>
>                 'rule' => array('custom', '/^[a-z0-9 ]*$/i'),
>
>                 'message' => 'We need your name!',
>
>                 'required' => true
>
>         ),
>
>         
>
>        'email' => array ( 
>
>             'is_valid' => array(
>
>                 'rule'      => 'notEmpty',
>
>                 'rule'      => array('email', true),
>
>                     'message' => 'A valid email is required',
>
>                     'last' => true
>
>             ),
>
>             'is_unique'     => array( 
>
>                 'rule'          => 'isUnique',
>
>                 'message'       => 'That email address is already in our 
> database.'
>
>             )
>
>         ),
>
>          'password' => array(
>
>           'min' => array(
>
>             'rule' => array('minLength', 6),
>
>             'message' => 'Your password must be more than 6 characters',
>
>             'required' => true
>
>           ),
>
>           'required' => array(
>
>             'rule' => 'notEmpty',
>
>             'message'=>'Please enter a password.'
>
>           ),
>
>         ),
>
>         'password_confirm' => array(
>
>           'required'=>'notEmpty',
>
>           'match'=>array(
>
>             'rule' => 'validatePasswdConfirm',
>
>             'message' => 'Passwords do not match'
>
>           )
>
>           ),
>
>          
>
>           
>
>
>
>     ); //END VALIDATE
>
>     function beforeSave() {
>
>         if (isset($this->data['User']['password']))
>
>             {
>
>               $this->data['User']['password'] = 
> AuthComponent::password($this->data['User']['password']);
>
>               
>
>             }
>
>         
>
>             if (isset($this->data['User']['password_confirm']))
>
>             {
>
>               
>
>             }
>
>         return true;
>
>     }    
>
>     
>
>     
>
>     function validatePasswdConfirm($data) {
>
>           if ($this->data['User']['password'] !== 
> $data['password_confirm'])
>
>         {
>
>             
>
>           return false;
>
>         }
>
>         return true;
>
>       }
>
>
>
>     
>
> }
>
>
>
> ?>
>
>
> My UsersController.php has the register action/function like this --
>
>         public function register() {
>
>         $this->set('title_for_layout', 'Register');
>
>                 if ($this->Auth->user()) {
>
>         $this->redirect(array('controller' => 'users', 'action' => 
> 'dashboard'));
>
>         }
>
>             if ($this->request->is('post')) {                
>
>                 $this->User->create();
>
>                if ($this->User->save($this->request->data)) {
>
>                        //$this->User->setFlash(__('The user has been 
> saved'));    
>
>                        $this->Auth->login($this->request->data);
>
>                     $this->Session->setFlash(__('Welcome to your 
> dashboard!'));
>
>                     $this->redirect(array('controller' => 'users', 
> 'action' => 'dashboard'));
>
>                     
>
>                } else {
>
>                        
>
>                 }
>
>             }
>
>         } // END REGISTER    
>
>
> I'm building this from the ground up, to learn both php and cakephp. So 
> things might not seem secure, etc etc. I do appreciate the help.
>
>
> On Thursday, April 4, 2013 7:51:37 AM UTC-4, Jeremy Burns wrote:
>>
>> Model arrays? You set this in the controller. So when your form posts to 
>> the controller action it then calls the appropriate action (either in the 
>> Auth component or the User model). If the action returns an error you set 
>> the flash message (in the controller). At that point you'd set the fourth 
>> parameter to (e.g.) 'login-failed' or 'registration-failed'. Then you'd 
>> flash out the 'login-failed' message on the login form/element and the 
>> registration-failed message on the registration form/element.
>>
>> Jeremy Burns
>> Class Outfit
>>
>> http://www.classoutfit.com 
>>
>> On 4 Apr 2013, at 12:47:14, Nathan Pierce <[email protected]> wrote:
>>
>> Thanks Jeremy, I actually tried that yesterday. I guess I didn't set it 
>> properly in the User model arrays. I'll try it again.
>>
>> On Thursday, April 4, 2013 7:43:13 AM UTC-4, Jeremy Burns wrote:
>>>
>>> You can set a specific key for each flash message and then flash it out 
>>> where and when needed. See: 
>>> http://book.cakephp.org/2.0/en/core-libraries/components/sessions.html#creating-notification-messages
>>>
>>> Jeremy Burns
>>> Class Outfit
>>>
>>> http://www.classoutfit.com 
>>>
>>> On 4 Apr 2013, at 12:37:50, Nathan Pierce <[email protected]> wrote:
>>>
>>> Fortunately there is no admin role. In fact, if they changed it to 
>>> teacher, they would just have access to the teacher stuff. Not a security 
>>> risk fortunately. 
>>>
>>> What I'm trying to do is have two forms on the same page, but them not 
>>> share the flash verification warnings that come back. Right now if I don't 
>>> type the email correctly in the register form, the warning tells me in both 
>>> the login and registration form that the email is not formatted properly. 
>>> I'd like two separate auth models to post to the same database, but not 
>>> share the same "email", "password" names to work properly.
>>>
>>> Can someone point me to some examples or documentation? 
>>>
>>> On Thursday, April 4, 2013 7:32:00 AM UTC-4, André Luis wrote:
>>>>
>>>> I really didnt get what you want to do, but one thing... if anyone can 
>>>> register, do not use the hidden field for the role, because it´s value can 
>>>> be changed easily with some javascript, or even with webdesigner toold. 
>>>> For 
>>>> example, if I (studant) will register and watch the code in Chrome, with 
>>>> developer tools, and see the hidden field with que "student" value, i 
>>>> would 
>>>> try to change the value to "admin" for example, or try another possible 
>>>> keywords for example.
>>>>
>>>> Em quarta-feira, 3 de abril de 2013 20h25min51s UTC-3, Nathan Pierce 
>>>> escreveu:
>>>>>
>>>>> Hey all! I have to say this community is awesome. I'm pleased to see 
>>>>> there is help for newbies like me.
>>>>>
>>>>> I have an issue which I need suggestions for. I like doing things the 
>>>>> proper way and not creating an obtuse mess of code to do something 
>>>>> simple. 
>>>>> Here it is:
>>>>>
>>>>> Uses Auth (nothing crazy)
>>>>>
>>>>> View - register.ctp contains a registration form: 
>>>>>
>>>>> <?php
>>>>> echo $this->Form->create('User', array('action' => 'register'));
>>>>> echo $this->Form->input('full_name', array('label' => 'Full Name'));
>>>>> echo $this->Form->input('email_register', array('label' => 'Email'));
>>>>> echo $this->Form->input('password', array('type' => 'password', 
>>>>> 'label' => 'Password'));
>>>>> echo $this->Form->input('password_confirm', array('type' => 
>>>>> 'password', 'label' => 'Confirm Password'));
>>>>> echo $this->Form->hidden('role', array('value' => 'student'));
>>>>> echo $this->Form->end('Register');
>>>>> ?>
>>>>>
>>>>> Then, the layout it uses (login.ctp) calls another form:
>>>>>
>>>>> <?php
>>>>> echo $this->Form->create('User', array('action' => 'login'));
>>>>> echo $this->Form->input('email', array('label' => false, 'type' => 
>>>>> 'email_login', 'value' => '', 'placeholder' => 'Email'));
>>>>> echo $this->Form->input('password', array('label' => false, 'type' => 
>>>>> 'password_login', 'value' => '', 'placeholder' => 'Password'));
>>>>> echo $this->Form->submit('GO', array('class' => 'login_submit'));
>>>>> echo $this->Form->end();
>>>>> ?>
>>>>>
>>>>> My problem is that when register.ctp passes the data to the User.php 
>>>>> model, and does the validation, the login.ctp form gets the 'message =>' 
>>>>> from the model as well as the register.ctp form.
>>>>>
>>>>> Now, I need both the register.ctp and login.ctp form to check the 
>>>>> database if the email exists, run the validation if it's valid, etc etc. 
>>>>> I 
>>>>> think you get the idea. My first idea was to change the login.ctp form 
>>>>> from 
>>>>> input('email' to input('email_login' and have it act the same as the 
>>>>> normal 
>>>>> email, just ignore the validation message. I looked and looked and 
>>>>> couldn't 
>>>>> find any examples of how to achieve this. 
>>>>>
>>>>> Any suggestions?
>>>>>
>>>>> Thanks!
>>>>>
>>>>
>>> -- 
>>> Like Us on FaceBook https://www.facebook.com/CakePHP
>>> Find us on Twitter http://twitter.com/CakePHP
>>>  
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "CakePHP" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>  
>>>  
>>>
>>>
>>>
>> -- 
>> Like Us on FaceBook https://www.facebook.com/CakePHP
>> Find us on Twitter http://twitter.com/CakePHP
>>  
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "CakePHP" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>>
>>
> -- 
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>  
> --- 
> You received this message because you are subscribed to the Google Groups 
> "CakePHP" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected]<javascript:>
> .
> Visit this group at http://groups.google.com/group/cake-php?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
>
>
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to