Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
Form validation is one of the things web designers love to hate. You know you need it, your forms would be better off with it, but it can be so tricky to implement it's often left undone. Luckily spry validation is pretty straightforward to integrate into a page even on a WordPress page. Let me show you how. So I am going to start off by adding some basic form elements to our events template page. I will switch to events.php that I have opened. I am here in Split view, so I want to put this form right above the Accordion panel that we inserted in the last lesson.
To do that, I am going to select the Accordion panel here. As you can see, in Split view on the left-hand side of the screen, all of that code is now highlighted and then I am going to use my left arrow key to move right in front of it but staying in Design view. All right, double-click on the Insert panel tab to open that up, and this time I am going to switch over to Forms and start to build out my form. So first let's add that Form in, and there you can see the red outline of the form, and now I want to add a field set to that, so we will scroll down to where we see Fieldset and click on that, Dreamweaver will ask what's the legend is that you want to put in, and this is going to be a small form that just tries to encourage people to sign up for the events and newsletter. So Sign Up for Our Newsletter.
Now I am going to add a paragraph right after that, just a little descriptive text, and let's just put in Get all the news hot off the presses. With an Exclamation Mark of course. Next up is the actual field that I will be using for my Spry form, and this form will just have one field, and that will be an email field so that starts off as a Spry Validation Text Field. So let me click on that entry in the Insert panel and the id will be emailNewsletter, press Tab, the Label is just Email.
We want to make sure to attach the label tag using the for attribute and have it come before the form item. Let's leave the other values at their default and click OK. There is my Spry TextField. Now once it's inserted, we have our custom property inspector. I am going to change the type to Email Address, and that will give us another preview state of invalid format, while that's highlighted, let's change the message a bit, and instead of a somewhat formal but totally uninformative invalid format, let's make it Full email address and add a comma and a please because we are nice.
Now we also want to change the other text message, the other preview state that we have is one for required, so I am going to go ahead and instead of a value is required, let's just make that the simple word Required, with an uppercase R. Okay, so at the end of this field I am going to hit Return again and add a Submit button so that's a button here. Just going to put in an id of submit and click OK.
No label is needed for such a button. Now I'll save the file, and we will go through the same steps we did when adding the Spry Accordion to the page in the previous lesson. So I will click OK, that will add the SpryAssets to the site root. Let me expand my Files panel, and now I am going to scroll down to where my SpryAssets folder is in the site root, and you will notice two new files have been added, one CSS and one JS, both dedicated to the spry validation text field.
So with those selected I will copy them and then do a little scroll up to where I find the SpryAssets folder that's within the roux folder and paste those files right in there. Okay, let's collapse the Files panel, and we are going to adjust the paths, so I will go ahead and expand to Code view here, so we can go up the top of the page where Dreamweaver has inserted this code. Now since we already did this code block here at once, I am going to go ahead and select it and then copy and then replace all of the path up to the leading slash before SpryAssets, paste that in, and let's do it not only for the link tag but also for the script tag.
All right, I will save our page, and now we are ready to head on over to the index.php page, where I will refresh it, and then scroll down, and there you see our form kind of jammed on top of the Spry panel, we will take care of that as we do with a little styling, let's take care of the various styles first. So again, I will collapse the Insert panel and the Files panel to give full precedence to my CSS Styles panel.
Now I have these SpryAccordion.css stylesheet expanded, let's collapse that, and there is my SpryValidationTextField style sheet, so I will open that up, and we are ready to start work on this. Before we do, I just want to demonstrate a little bit about how this works, so here is the Email field. If I click into it, you can see a little active background appears. If I try to just click Submit, I do get an error message. If I put in a partial email address and click Submit, I will get a different email message.
Now there are specific characteristics here, the red background is to show the error, there's also a border on the error messages, which I don't like from a design perspective so we will remove that and make some other adjustments as well. Again I am going to just work my way down the SpryValidationTextField.css, so let's just start at the very top and move down. Now the first one we are going to leave alone. This sets up the initial state for whether messages are required or not. We don't display that until it's necessary. So now we will go down, I will just press the Down Arrow key in order to move down to the next CSS rule, and as I said I am not a big fan of the border here, so I am just going to select the border and then click the Trashcan.
I think red is very appropriate for an error message, so we will leave that. Let's go down to the next rule. Now this is for the ValidState input. I didn't demonstrate this but if I had put in a valid email address, we would have had this lovely green color. Again, not a big fan, so I am going to go ahead and change that to white, and let's continue down our rules. Here is a background color, that's okay. I think this light red is okay with me, so I am going to keep moving. Now here is the background color for the input state, and rather than use their version of the light green, let's work with the one we already have on our comp, so I am going to click on the Color Swatch and then sample that, and that's going to look a lot better and here is our red color, that's fine, and one more for the TextField state.
I want to go through it just one more time just to make sure I got everything, looks good. So we have taken care of the Spry elements, but how about adding some style to the other form elements so it fits into our site better? The few select rules again using our page template events PHP selector as we did with the Accordion panel, we can target our CSS rules for the form. So I am going to go to style.css, and let's go right down to where we define the CSS rules for our definition list.
I am just going to pick up this selector one more time here, and let's put in a new rule for the fieldset. Let's go to Code so we can see this just a tad easier. Okay, so there is my fieldset up top, I will add my opening and closing curly braces. Now I like fieldsets that have slightly rounded corners, so I am going to put in a border-radius of 5 pixels, let's separate the fieldset from the Accordion panel with a margin-bottom of 20 pixels.
We are going to put a blue border around it, so we will put in border: 2 px solid, and I am going to use the same color that we've used elsewhere in the site, and that's (168,88,163) with an opacity value of 1, and finally let's add 10 pixels of padding all round. All right, let's take a quick look and see how that's shaping up. Well, I think that's working out pretty well. We are on our way. Let's now do the legend, so back to code.
Paste them in my page-template selector and add the tag legend, we will make this a different color that's in our site. Now this will be a blue color, and let's make the font-weight bold. How we are doing? Much better. Okay, we need to adjust the P tag just so we can space that out a little bit, my selector and then P, and this will be just a padding property with 5 pixels top and bottom and none left and right.
Next up, we want to address the two actual form elements, the text field and the Submit button. Again when we take a look at that we can see that they are little bit scrunched, so I am going to add some padding, and we will also move the Submit button over to the right, and because we have more than one form on here, we have a search form as well. I am going to target this very form, which is Dreamweaver's default of putting in form1 as an id, and then we will look for the input tag with a attribute that has the type set to text.
And that one we will only need a little bit of padding all around. Let's do 3 pixels of padding. Now I am going to copy this whole selector here, paste it in because the only thing we need to change now is the type value from text to submit. All right, let's put in our opening and closing curly braces, adding some padding value. Let's do again 3 pixels on the top, but I want to add 5 pixels left and right, and this will make that Submit button a little bit bigger, and as I said I want to move it to the right, we will do that with a margin-left property of 45 pixels.
Okay, all that's left is to kind of save and test. There is my New button. Let's head back to the Browser so that we can do our testing in a proper environment. So my form looks good. Let's see how it acts. So if I click Submit, I get the message that the Email form is required. Now when I click into it, I can see I have the active focused background, that's the same as the search, that's great. I will just put in my name because that's all they actually need, right? And hit Submit.
Again, Full email address, please. Fine, so let's go ahead and put in a full email address and then hit Submit, and it's submitted, everything is good. All right, pretty sweet. We've got Spry Form validation up and running in a WordPress page.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.