Php - Form validation - drop down menu + comments box

I have been working on a input form for students for the past couple of hours. I have done mostly all of it with 0 hicups but I come across one minor issue that I can't think of a work around for. I have a drop down menu and the validation for that is :

 }
        if(empty($why) === true) {
            $errors[] = 'Please make sure to select the proper reasoning for your vistit today!';
    }

the default variable is set to be empty or just value="" (empty)...

now the next thing I need to validate is that if the student chooses the option "Other" I need them to then insert at least 10 characters and max of 30 into a Comments box specifically made for the students who can not find the general reason for their visit to the financial aid office. This is what I have for this (it is not working btw) :

if(isset($why) === Other) {
        $errors[] = 'Please add a comment explaining why you are visiting the office.';
}

So all in all I need help writing a validation that if the student chooses other then he or she MUST then write a brief summary as to why he or she is visiting the office in the "comments box".

Any help would be lovely. Thank you.

Answers


Lets say that the textarea for the 'other' field is called $other

if(empty($why)){
  $errors[] = 'Please select a reason';
}elseif($why == 'Other' && empty($other)){
  $errors[] = 'You selected Other. Please enter a reason why';
}

Your code will probably need to be more detailed than the above since you're looking to set a minimum and maximum number of characters, but you get the jist?

BTW, I see no reason why you would want to use the === operator instead of the == operator. They do the exact same thing but === checks to see if it's the same type, not sure what good this does for your script.


Need Your Help

How to avoid building intermediates and useless AST nodes with ANTLR3?

parsing antlr antlr3 abstract-syntax-tree

I wrote an ANTLR3 grammar subdivided into smaller rules to increase readability.