Thank you, Anthony, but I'm using a custom form via the "user" controller. 

Here is my code

 {{=form.custom.begin}}
<div class="login-block">
   <div class="input-group margin-bottom-20">
      <span class="input-group-addon rounded-left"><i class="icon-user 
color-blue"></i></span>
                       
{{form.custom.widget.username.update(_placeholder="Username")}}
                       {{=form.custom.widget.username}}
      <!--<input type="text" class="form-control rounded-right" 
placeholder="Username">-->
   </div>

   <div class="input-group margin-bottom-20">
      <span class="input-group-addon rounded-left"><i class="icon-lock 
color-blue"></i></span>
      <!--<input type="password" class="form-control rounded-right" 
placeholder="Password">-->
                       
{{form.custom.widget.password.update(_placeholder="Password")}}
                       {{=form.custom.widget.password}}

   </div>

   <div class="checkbox">
      <ul class="list-inline">
         <li>
            <label>
               <input type="checkbox"> Remember me
            </label>
         </li>

         <li class="pull-right">
            <a href="{{=URL('default','retrieve_password')}}">Forgot 
password?</a>
         </li>
      </ul>
   </div>

   <div class="row margin-bottom-70">
      <div class="col-md-12">
                           {{=form.custom.submit}}
         <!--<button type="submit" class="btn-u btn-u-blue btn-block 
rounded">Sign In</button>-->
      </div>
   </div>

   <div class="social-login text-center">
      <div class="or rounded-x">Or</div>
      <ul class="list-inline margin-bottom-20">
         <li>
            <button class="btn rounded btn-lg btn-facebook">
               <i class="fa fa-facebook"></i> Facebook Sign in
            </button>
         </li>
         <li>
            <button class="btn rounded btn-lg btn-twitter">
               <i class="fa fa-twitter"></i> Twitter Sign in
            </button>
         </li>
      </ul>
      <p>Don't have an account? <a href="{{=URL('default','register')}}">Create 
New</a></p>
   </div>
</div>
           {{=form.custom.end}}


I tried putting the functions you mentioned in the process and validate 
method in the "user" function, but still no luck.

On Tuesday, March 7, 2017 at 12:39:18 AM UTC-5, Anthony wrote:
>
> See 
> http://web2py.com/books/default/chapter/29/07/forms-and-validators#The-process-and-validate-methods
>  
> and 
> http://web2py.com/books/default/chapter/29/07/forms-and-validators#Hide-errors
> .
>
> After processing, errors are stored in form.errors (to get the error for a 
> given field, use form.errors[fieldname]).
>
> Anthony
>
> On Tuesday, March 7, 2017 at 12:06:45 AM UTC-5, LoveWeb2py wrote:
>>
>> Hello,
>>
>> I have some custom login forms and I'm something like this:
>>
>>
>> {{=form.custom.begin}}Image name: 
>> <div>{{=form.custom.widget.name}}</div>Image file: 
>> <div>{{=form.custom.widget.file}}</div>Click here to upload: 
>> {{=form.custom.submit}}{{=form.custom.end}}
>>
>> How can I check for errors here?
>>
>> I'm lost at where form gets checked. For example, if the user types an 
>> invalid password or username, I'd like to generate a custom message with 
>> response.flash or something to that nature.
>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to