[erlang-questions] How do I elegantly check many conditions?

Gordon Guthrie <>
Fri Mar 20 14:31:34 CET 2009


Sorry, pressed send too soon by mistake - this doesn't answer your
question...

On Fri, Mar 20, 2009 at 1:30 PM, Gordon Guthrie <>wrote:

> 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 <> 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
>> 
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090320/0be046cd/attachment.html>


More information about the erlang-questions mailing list