[erlang-questions] How do I elegantly check many conditions?
Gordon Guthrie
gordon@REDACTED
Fri Mar 20 14:30:12 CET 2009
Ryegug
How about a single conditional on a tuple?
check(Email, Username, Password) ->
InUseE = check_in_use_email(Email),
AlphaNum = check_is_alphanumeric(Username),
InUseU = check_in_use_username(Username),
StrongEnough = check_password(password),
case {InUseE, AlphaNum, InUseU, StrongEnough} of
{true, true, true, true} -> true;
_ -> false
end.
On Fri, Mar 20, 2009 at 1:20 PM, ryeguy <ryeguy1@REDACTED> wrote:
> So when a user sends a request to register an account, they send their
> username, password, email, and other info. The registration function
> must verify all of their data. An example would be:
>
> - verify email not in use
> - verify username not in use
> - verify username is alphanumeric
> - verify all fields are above X characters long
> - verify all fields are less than Y characters long
>
> Now I don't want to have a 5 level deep if or case statement, but what
> other options do I have? Splitting it into separate functions sounds
> like a good idea, but then I just have to check the return value of
> the functions in some sort of conditional and it's back to the
> original problem.
>
> I could separate them into functions and then call an if statement
> with all of the conditionals OR'd together, but that wouldn't give me
> what I want because I need to be able to tell the user the specific
> error if there was one.
>
> How does one handle this kind of situation in erlang?
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090320/36593011/attachment.htm>
More information about the erlang-questions
mailing list