I am very confused by this:
loginform = auth.login(next="profile")
regform = auth.register(next="login")
if regform.accepts(request.vars, formname='register'): ## WRONG
pass
if loginform.accepts(request.vars,formname='login'): ## WRONG
pass
auth.login(...) INCLUDES form processing (accepts).
On Apr 5, 9:36 pm, Yannick <[email protected]> wrote:
> Hello mate,
> For some reasons when using a custom form with two forms in the same
> view the validation is not properly done. Here is an example with two
> forms (Login and Register) in the same view.
> The validation for the "Email" on the register form is not correct;
> the user is able to register several users with the same email even if
> this is set when the table is define
> (table.email.requires = [IS_EMAIL(),
> IS_NOT_IN_DB(db, '%s.email'
> %
> self.settings.table_user._tablename)])...
>
> This problem occur ONLY when there are two forms on the same view...
> There is no problem on Email validation when we only have one form.
>
> Below is the sample of the controller and view:
>
> #Controller
> #######################################
> def logreg():
> loginform = auth.login(next="profile")
> regform = auth.register(next="login")
>
> if regform.accepts(request.vars, formname='register'):
> pass
>
> if loginform.accepts(request.vars,formname='login'):
> pass
> return dict(regform = regform, loginform = loginform)
>
> #View
> #######################################
>
> # Register Form
> <form action="" enctype="multipart/form-data" method="post">
>
> <input class="string" id="auth_user_first_name" name="first_name"
> type="text" value=" {{=regform.latest.first_name}}" /></td>
>
> <input class="string" id="auth_user_last_name" name="last_name"
> type="text" value="{{=regform.latest.last_name}}" />
>
> <input class="string" id="auth_user_email" name="email" type="text"
> value="{{=regform.latest.email}}" />
>
> <input name="password2" type="password"
> value="{{=regform.latest.password}}"/>
>
> <input type="submit" value="Submit" />
>
> {{=regform.hidden_fields()}}
> </form>
>
> # Login Form
>
> <form action="" enctype="multipart/form-data" method="post">
> <input class="string" id="auth_user_email" name="email"
> type="text" value="{{=loginform.latest.email}}" / >
> <input class="password" id="auth_user_password"
> name="password" type="password" value="{{=loginform.latest.password}}"/
>
> <input type="submit" value="Submit" />
> {{=loginform.hidden_fields()}}
> </form>
> #########################################
>
> Did anyone already had the same issue ?
>
> Thanks for your attention,
> Yannick P.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---