Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more Developer and personalized recommendations.Start Your Free Trial Now
- View Offline
- Understanding forms
- Adding required fields and placeholders
- Accepting multiple entries
- Limiting uploads
- Handling focus changes
- Validating with regular expressions
- Working with older browsers
- Building jQuery validation
- Using server-side validation
- Sanitizing form input
- Uploading files
- Sending form data to a database
Skill Level Intermediate
Now that we know how to access variables, let's take a look at how we would validate data in different ways. I'm going to show you how to check for a required field, a minimum number of characters, make sure that our passwords match, and use regular expressions for validation. So, I'm going to set up some variables in my process.php file. I'm using the files from the previous movie, so I'm going to go ahead and delete everything right here. And start by creating some variables. The input fields that we're going to work with are: the name field, the password field, and the password confirmation field.
So I'll create variables for those. I'll check the request, that we got from the server, and look for the variable, my name, from the form. I can do the same thing for the password and the password confirmation. The easiest type of validation to do is check for required field. All you have to do is make sure that the string is not empty. So, let's do that with the name. So if the name is empty, I'm going to echo something, or output something to the screen. And it's going to be a div, that says your name is a required field.
So notice then, I'm also using this if and endif notation. I just like it a little bit better than these curly brackets. Sometimes these can get lost when the coding gets a little bit complicated. I'm going to save this, and then come over here to the form and refresh. And I'm going to try to send the form without filling anything out. So I should get an error that says, sorry, your name is a required field. Guess I'll hit the Back button, and let me do another type of validation. We can check to see if the field has a certain number of characters, with PHP's string length method. To learn more about this method, make sure you check out the PHP documentation. So, with that method, we'll create another if statement. And we'll check to see that the string length, of the password string, is at least six characters.
If it's less than six characters, I'll output an error message. So let me save that, and come back here. I'll refresh, and I'll go ahead and type something for the name. I'll leave the password blank. Now it's complaning that the password has to be at least six characters. If I try to not type a name or the password, I should see both errors. So let's try to type in a password that is at least six characters. And that's working fine, because it's complaining that I didn't put in a name.
Perfect. To make sure our passwords match, we can simply compare the two passwords with each other. If they don't match, we can't output an error. All right, so, let's go ahead and save this, and refresh the page. And I'll try to send the form without any fields. It's not going to complain about the passwords, because they are matching, even though they're empty, they're technically matching. So we need to make them not match. I'll go ahead and type in something that definitely doesn't match, but it's at least six characters.
So now it says, sorry, passwords must match. Finally, we can also do a regular expression match comparison. We've already talked about regular expressions in the chapters on constraining with regular expression patterns and dynamic validation with regular expressions. They allow you to do complex pattern comparisons. As a matter of fact, we've got a whole course on regular expressions. To match the text from our forms, we're going to use PHP's preg-match method, which you can find right here. Now, it looks really complicated, but it's fairly simple to implement. Let's go back into our form, and we'll create another area right here. So what I'll do is, I'll create an if statement.
Other then that, it's the same pattern that we used on some of the other movies. Just any number of letters, followed by a comma and a space, and then any number of letters. Now, if the pattern does not match, then we'll output an error. So let me go ahead and save this. And I'm going to come back here, hit the Back button, refresh my page, and try to type in something that is not in this format. So, we'll just type in a name like this, hit Send. And it says that it must be in the format last comma first, which is what we want.
So validation's pretty easy with PHP. With the addition of regular expression patterns, you can really get quick picky about how you compare the user's input with certain patterns.