[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