laravel基础课程---14、表单验证(lavarel如何进行表单验证)
laravel基础课程---14、表单验证(lavarel如何进行表单验证)
一、总结
一句话总结:
lavarel的验证的功能比tp要【简单】且【强大】很多
直接控制器中:添加【规则数组】和【修改提示信息数组】,然后调用【验证类】进行验证即可:$validator = \Validator::make($input,$rules,$message);
表单验证 1、控制器
// 规则 $rules=[
'name'=>'required|unique:user|between:6,12',
"pass"=>'required|between:6,12|same:repass',
]; // 所有数据 $input=$request->all(); // 修改提示信息 $message=array( "name.required"=>"请输入用户名",
"name.unique"=>"用户名以存在",
"name.between"=>"长度不满足",
"pass.required"=>"请输入密码",
"pass.between"=>"密码长度不满足",
"pass.sname"=>"两次不一致",
); // 设置表单验证的参数
// 参数一 需要验证的数据
// 参数二 验证规则
// 参数三 提示信息
$validator = \Validator::make($input,$rules,$message); // 进行验证 if($validator->passes()){
// 处理数据
unset($_POST['_token']);
unset($_POST['repass']); $_POST['pass']=\Crypt::encrypt( $_POST['pass']);
$_POST['time']=time();
if (\DB::table("user")->insert($_POST)) {
# code...
return redirect("admin/user");
}else{
return back();
} }else{
return back()->withInput()->withErrors($validator);
} 2、页面中提示错误 @if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
1、lavarel如何加密解密字符串?
Crypt对象的encrypt方法:echo $pass=\Crypt::encrypt('123');
Crypt对象的decrypt方法:echo \Crypt::decrypt('MjM1OCJ9');
你可以借助 Crypt facade 来加密一个值。这些值都会使用 OpenSSL 与 AES-256-CBC 来进行加密。此外,所有加密过后的值都会被签署文件消息验证码 (MAC),以检测加密字符串是否被篡改过。
2、Crypt::encrypt($pass)和md5加密的区别?
Crypt([krɪpt]:n. 土窖,地下室)::encrypt($pass):每次都是变化的,长度180-192之间,并且可逆
md5:不变的,并且可能被暴力破解
你可以借助 Crypt facade 来加密一个值。这些值都会使用 OpenSSL 与 AES-256-CBC 来进行加密。此外,所有加密过后的值都会被签署文件消息验证码 (MAC),以检测加密字符串是否被篡改过。
crypt
- n. 土窖,地下室;腺窝
3、lavarel中 判断表单用户名存在不存在是不是用的ajax?
其实不必:闪存 + with()方法即可
with方法向页面返回一个变量,这个变量的值就是 "用户不存在"
4、判断表单(比如判断提交的用户名是否存在),有没有必要弹出框提示?
没必要,直接在页面的 div class="alert alert-danger" 标签中显示即可
<!-- /resources/views/post/create.blade.php --> <h1>创建文章</h1> @if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif <!-- 创建文章的表单 -->
二、内容在总结中
laravel基础课程---14、表单验证(lavarel如何进行表单验证)的更多相关文章
- laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)
laravel基础课程---9.视图(lavarel的模板语法和tp相比怎样) 一.总结 一句话总结: lavarel的模板语法比thinkphp好用很多:和html代码配合的更好 lavarel比t ...
- laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)
laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...
- laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)
laravel基础课程---13.数据库基本操作2(lavarel数据库操作和tp对比) 一.总结 一句话总结: 非常非常接近:也是分为两大类,原生SQL 和 数据库链式操作 学习方法:使用时 多看手 ...
- laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)
laravel基础课程---12.lavarel的ajax操作2(lavarel的ajax使用总结) 一.总结 一句话总结: 比较简单:就是js请求ajax,然后控制器获取请求参数,返回数据即可 1. ...
- laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)
laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...
- laravel基础课程---10、数据库基本操作(如何使用数据库)
laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->up ...
- laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)
laravel基础课程---7.文件处理.闪存.cookie(cookie原理和使用场景) 一.总结 一句话总结: 页面请求服务器的时候是把这个页面中所有的cookie都带上了的,cookie里面也存 ...
- laravel基础课程---3、路由(Laravel中的常见路由有哪几种)
laravel基础课程---3.路由(Laravel中的常见路由有哪几种) 一.总结 一句话总结: 6种:post,get,put,patch,delete,options Route::get($u ...
- laravel基础课程---16、数据迁移(数据库迁移是什么)
laravel基础课程---16.数据迁移(数据库迁移是什么) 一.总结 一句话总结: 是什么:数据库迁移就像是[数据库的版本控制],可以让你的团队轻松修改并共享应用程序的数据库结构. 使用场景:解决 ...
随机推荐
- mybatis技术文章
http://legend2011.blog.51cto.com/3018495/1600478
- js执行顺序总结
参考博文:http://www.2cto.com/kf/201401/273825.html http://www.jb51.net/article/44123.htm http://zhidao.b ...
- UNIX/LINUX使用expect实现人机自己主动交互功能
expect使用方法 [#!/usr/bin/expect] 这一行告诉操作系统脚本里的代码使用那一个shell来运行.这里的expect事实上和linux下的bash.windows下的cmd是一类 ...
- Django之站内搜索-Solr,Haystack
java -version 不多说 solr 是java 开发的 java version "1.7.0_79" Java(TM) SE Runtime Environment ( ...
- SpringBoot开启https以及http重定向
一.使用JDK keytool创建SSL证书 进入$JAVA_HOME/bin目录,运行以下命令 keytool -genkey -alias WeChatAppletsDemo -keypass - ...
- SecureCRT的上传和下载
securtCRT对于后台开发者并不陌生,在windows下是得力的助手.而文件从服务器上上传和下载是很基本.很日常的操作.下面就谈谈关于它的命令及操作: 借助securtCRT,使用linux命令s ...
- git 工具 - 子模块(submodule)
From: https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97 子模块 有种情况我们经常 ...
- Android 实现的EditText响应drawableRight的点击事件
1.自定义Edittext 实现右侧图标点击清空 package com.dxw.live.view; import android.content.Context; import android.g ...
- python classmethod方法 和 staticmethod
classmethod() 是一个类方法,用来装饰对应的函数.被classmethod 装饰之后就无需实例化,也不需要在函数中传self,但是被装饰的函数第一个参数需要是cls来表示自身类.可以用来调 ...
- CentOS6.5安装MySQL5.6 过程记录
刚开始,还不太懂,直接上了MySQL5.7版本的二进制安装,结果遇到了各种问题,从5.6到5.7还是做了很大改变的,比如mysql_install_db的文件位置变更到了/bin文件下等等,觉得现在用 ...