[ic] form profile and &fatal=yes
Mark Johnson
mark at endpoint.com
Thu Aug 24 20:27:33 EDT 2006
Dan Bergan wrote:
> I am trying to use a form profile for my new_account page. I've been
> able to determine that my form profile is being processed, but the
> account is being created even when a value fails the required checks.
>
> For a simple example, I am using indirect login, but when I enter an
> invalid email address, the account still gets created. Am I wrong in
> thinking that "&fatal=yes" should cause the rest of the profile to not
> be processed? Also, I see a very similar question from last month with
> no resolution:
> http://www.icdevgroup.org/pipermail/interchange-users/2006-July/045801.html
>
> profiles.login:
> __NAME__ NewAccount
>
> mv_username=email
> &fatal=yes
>
> [if type=explicit compare="[userdb new_account]"]
> mv_nextpage=[either][cgi mv_successpage][or][cgi mv_nextpage][/either]
> [else]
> mv_nextpage=[either][cgi mv_failpage][or][cgi mv_nextpage][/either]
> [/else]
> [/if]
>
> __END__
Order of operations is gettin' ya.
All your ITL interpolates before the profile checks ever start. That
means [userdb new_account] fires up before you ever check the value of
mv_username with the email check.
You will likely need to split this into two operations. Use
mv_form_profile to do your profile checks first, and then put the
account creation code inside an mv_click. With &fatal in a
mv_form_profile, for a failed profile, the mv_click code will never execute.
You could, in fact, cut that one profile right between &fatal and the
[if ...] line, putting the top part in the mv_form_profile, and the
bottom part in the mv_click, and that would be logically the proper
division.
Mark
--
Mark Johnson
End Point Corporation
http://www.endpoint.com
More information about the interchange-users
mailing list