Laravel自动验证

即后台验证数据的可效性,既展示视图,又进行处理


一:设计表单

路由写法:

 Route::match(['get','post'],'index5', 'Home\IndexController@index5');

Controller写法:

  //自动验证
   public function index5(){
    return view('Home/test/index5');
   }

视图层:

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<form action="/Home/test/index4" method="post">
	用户名:<input type="text" name="username"><br/>
	密码:<input type="text" name="password"><br/>
	年龄:<input type="text" name="age"><br/>
	{{csrf_field()}}
	<input type="submit" name=""><br/>
</form>
</body>
</html>

浏览器访问:
在这里插入图片描述

二:控制器方法验证

validate接收一个HTTP请求数据和验证规则,如果规则通过则继续向下执行,不通过则抛出异常,错误响应也会发给用户。
Input::method()获取请求的类型,GET或者POST


Controller修改:

语法: $this->validate(数据对象,[数组形式的验证规则]);

 //自动验证
   public function index5(Request $request){
    if(Input::method()=="GET"){
         //展示视图
        return view('Home/test/index5');
    }else{
        //自动验证
        $this -> validate($request,[
            //具体规则 字符 => 验证规则1 | 验证规则2

            //验证用户名不为空,且长度大于6小于18
            'username' => 'required|min:6|max:18',
            //验证年龄不能为空,且年龄大于16小于90,必须为整数
            'age' => 'required|min:16|max:90|Integer',
            //验证密码不为空,且长度大于6小于21
            'password' => 'required|min:6|max:21'
        ]);
    }
   
   }

视图层修改:

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	@if (count($errors) > 0)
	<div class="alert alert-danger">
		<ul>
			@foreach ($errors -> all() as $error)
			<li>{{$error}}</li>
			@endforeach
		</ul>
	</div>
	@endif

<form action="" method="post">
	用户名:<input type="text" name="username"><br/>
	密码:<input type="text" name="password"><br/>
	年龄:<input type="text" name="age"><br/>
	{{csrf_field()}}
	<input type="submit" name=""><br/>
</form>
</body>
</html>

浏览器运行,如果所有内容全为空提交:
在这里插入图片描述


三:修改中文

默认的错误提示是英文的,但如果想要修改成中文的话还需要下载一下中文语言包。
在网站根目录输入命令:composer require caouecs/laravel-lang:~3.0
在这里插入图片描述等待下载完成后,在\vendor\caouecs\laravel-lang\src路径下的最后有一个zh-CN的文件夹。

在这里插入图片描述


复制文件夹到\resources\lang下

在这里插入图片描述

修改/config下的app.php文件,在80行左右的位置修改成我们下载的语言包名称 'locale' => 'zh-CN',

在这里插入图片描述

再次访问的时候即出现中文报错注释。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deeeelete

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值