Laravel 5.8 – From The Ground Up
Lesson 9 of 52 · Laravel 5.8 Tutorial From Scratch – e09 – Form Validation · Education
Laravel 5.8 Tutorial From Scratch – e09 – Form Validation
so in the previous episode we kind of ended in a cliffhanger and that was this integrity constraint violation now if you recall all we did was hit the add
new customer button without actually typing anything into our form and as we all know of course that is probably not functionality that you want you want to be able to come back to the user and say
hey you forgot to give us a name give us a name otherwise we're gonna ignore your request so let's dive in and see how we could do this with laravel so let's switch back to phpstorm and right now we
have this customer right here but we are assuming that the request has a name but we haven't really checked that so let's add a new layer of validation here and let's add that here at the top so how do
we validate this request let's say our data is equal to request validate and so inside validate we're gonna pass in an array and this array will tell layer though what it is that we're trying to
validate so the first thing i want to do is validate that the name is required and we do that in this form so name which is the input name right we see that right here so we are validating
that name is required and that's it laravel actually takes care of everything else for us it will actually redirect back it will give us errors we just need to display those so let's give
that a go and see what it does let's go back to Chrome I'm gonna hit refresh and then I'm gonna hit that add customers one more time and here we go now if you look up here closely check out what
happens when I hit the button we see that the page goes out it tries to fetch something happens and then it comes back and of course we see that nothing happened and that is because we are
requiring that field but right now we're not really giving the customer any feedback at all that would be the next step we need to tell them hey you forgot to give us a name go ahead and put your
name in there all right so now let's get these errors to show up so we'll have this errors variable available to us through Lenovo and then we'll say give me the first error for
name and go ahead and display that back in the browser I'm gonna hit refresh one more time and hit add customers and there we go we see the name field is required but I
do see it's kind of down here kind of difficult to see so I'm gonna bring this up and put it right after that and before the button I think that's a better place for it and hit refresh hit
that button one more time and there we go the name field is required now this around that with a div so it makes its own line there we go the name field is required so now we're giving back the
user a little bit of feedback on what it is now another rule that you may have is that it needs to be at least three characters for example so let's change that back in my customers controller we
are required but we also need it to be at least three characters and the way you do that is by adding a pipe and then we could say min : three so this is telling laravel the
name field is required and it needs to be at least three characters all right let's hit save head back over here and then we could say that customer and it says the name must be at least three
characters add customer and there we go now it does add that in so this is the last thing I wanted to show you I'll add the link to this in the description below but just know that if you go to
the documentation of laravel there is these available validation rules and these are all of the rules that you can use and you can pipe together of course we've already used a required and we use
this min rule to not allow anything under three characters to pass through validation so all of these rules combined will help you validate your forms so take a look at each of these as
you have some time and I bet you'll find exactly what you need however do know that you can add custom validation rules and we can cover that in a separate video so as a little bit of an
assignment what I want you to do is I want you to add a second field to our form here for email and I want you to go ahead and change the migration to add that in
because I want to be able to store the name and the email of our customers so give that a shot on your own and then in the next episode I'll show you how to do it
Now that we are adding customers, we need to add some validation to our form. Laravel makes this process very easy, follow along as we make the name field required.
For the best experience, follow along in our interactive school at https://www.coderstape.com
Resources
Course Source Code
https://github.com/coderstape/laravel-58-from-scratch
Available Validation Rules
https://laravel.com/docs/master/validation#available-validation-rules
Hit us up on Twitter with any questions or comments @codertape (https://twitter.com/CodersTape)
About This Course
Ready to get started on your path to Laravel Artisan? In this series, we are breaking down all of the basics of Laravel to get you comfortable using the world’s most popular PHP framework. Let’s get started!