黑马lavarel教程---6、简单验证

一、总结

一句话总结:

1、验证的最简单实例:$request的validate方法,验证通过可以继续进行,验证失败就重定向
2、中文提示可以用中文语言包
3、对语言包中的翻译不满意可以自己修改:验证的话就是修改zh-CN包中的validation.php

1、为什么需要做后端验证?

因为浏览器可以将页面的js禁用

2、lavarel中如何得知一个请求类型?

语法:Input::method():返回GET或者POST

3、验证的最简单实例?

$request的validate方法,验证通过可以继续进行,验证失败就重定向
public function store(Request $request)
{$validatedData = $request->validate(['title' => 'required|unique:posts|max:255','body' => 'required',]);// 博客文章验证通过
}

4、lavarel验证失败后会怎样?

1、在典型的 HTTP 请求的情况下,会生成一个重定向响应。
2、对于 AJAX 请求则会发送 JSON 响应。

现在我们开始在 store 方法中编写逻辑来验证新的博客文章。为此,我们将使用 Illuminate\Http\Request 对象提供的 validate 方法 。如果验证通过,代码就可以正常的运行。如果验证失败,则会抛出异常,并自动将对应的错误响应返回给用户。在典型的 HTTP 请求的情况下,会生成一个重定向响应,而对于 AJAX 请求则会发送 JSON 响应。

5、验证如何返回中文验证提示?

除了自定义提示,还下载中文语言包,在 配置里面将语言设置为中文

1、网址:https://packagist.org    composer主要的代码托管网站
2、在官网搜索laravel-lang
3、安装命令:# composer require caouecs/laravel-lang:~3.0

6、验证中字符串和数字的min和max分别代表什么?

字符串就是字符串长度,数字就是数字大小

7、lavarel使用语言包步骤(caouecs/laravel-lang插件的步骤说的特别详细)?

1、For Laravel 5.8-6.0 : run composer require caouecs/laravel-lang:~4.0 in your project folder
2、Copy the folders of languages that you want, in the resources/lang folder of your Laravel application .
3、In the file config/app.php, change the value of locale by the short name of your language .

8、如果对中文语言包中的验证的翻译不满意,要去修改哪?

修改zh-CN包中的validation.php(就是一个对应关系的数组),按照自己需求改就行

二、简单验证

一般一个框架都会提供自动验证的机制,在TP里面的验证的规则是写在模型里面进行验证的,但是自laravel里面的思想有些不一样,它的验证规则可以在控制器里面,也可以单独的写一个专门的验证文件。并且laravel里面的验证不通过情况下的提示信息和表单数据是保存在session里面的,并且验证不通过的情况下会跳到上一个页面。

在前端页面中可以通过JavaScript验证表单的数据有效性,但是如果用户的浏览器过低或者直接禁用js,则前端验证则可能会失效,这样就不能保证数据的有效性。所以后端也需做相应的验证操作,这个操作在laravel中称之为自动验证(在ThinkPHP中也有自动验证)。

1、准备工作

①可以使用有表单的页面(视图),此处可以使用之前的test12.blade.php模版文件

创建需要的路由、方法

2、验证方式一(控制器方式验证:推荐)

建议去查看手册

(1)基本语法

使用控制器中的validate方法来完成,$this->validate($request,[验证规则]);

如果验证失败,laravel会自动将用户重定向回上一个位置,并将验证错误信息一次性存放到session中。

请求验证:

扩展补充:如何得知一个请求类型?

语法:Input::method()                返回GET或者POST

(2)基本验证规则

required: 不能为空

max:255最长255个字符,

min:1最少1个字符

email:验证邮箱是否合法

confirmed:验证两个字段是否相同,如果验证的字段是password,则必须输入一个与之匹配的password_confirmation字段

integer:验证字段必须是整型

ip:验证字段必须是IP地址

numeric 验证字段必须是数值

max:value 验证字段必须小于等于最大值,和字符串,数值,文件字段的size规则一起使用。

min:value 验证字段的最小值,对字符串、数值、文件字段而言,和size规则使用方式一致。

size:value 验证字段必须有和给定值value想匹配的尺寸,对字符串而言,value是相应的字符数目,对数值而言,value是给定整型值;对文件而言,value是相应的文件字节数。

string 验证字段必须是字符串

unique:表名,字段,需要排除的ID

注意:多个验证规则可以通过 "|" 字符进行隔开

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

(3)输出错误信息

效果:

(4)把输出效果转换成中文

由于中文和英文都是属于语言范畴,如果要切换提示文字,则需要有中文语言包的支持。目前框架只有en语言包,则需要其他语言包需要去下载。

网址:https://packagist.org    composer主要的代码托管网站

在官网搜索laravel-lang

注意:后期下载软件依赖的时候一般会综合一下下载量和收藏量进行下载选择。

①需要寻找下载命令

安装命令:# composer require caouecs/laravel-lang:~3.0

②使用composer进行安装

在项目根目录下运行上述的命令

③使用方法

翻译:

语言包文件在vendor/caoue/laravel-lang中;将你需要的语言目录复制到resources/lang目录下即可。

将需要的语言包复制到语言包目录:

根据提示:

翻译:在文件(config/app.php)中修改locale的值,改成你需要使用的语言简称。

简称其实就是语言包的文件夹名称。

测试效果:

注意:并不是所有的字段都有对应的翻译(或者有的翻译可能不是很准确),如果想自己定义翻译,则需要去修改语言包文件代码。

修改后续的值,或者新增需要的元素:

转载于:https://www.cnblogs.com/Renyi-Fan/p/11558084.html

黑马lavarel教程---6、简单验证相关推荐

  1. 黑马lavarel教程---4、csrf验证及相关

    黑马lavarel教程---4.csrf验证及相关 一.总结 一句话总结: csrf验证就像短信验证码那样验证用户身份,这个验证是为了验证是本站的操作,用的是一个token字符串,外站如果有了这个to ...

  2. 黑马lavarel教程---13、分页

    黑马lavarel教程---13.分页 一.总结 一句话总结: - lavarel里面的分页操作和tp里面的分页操作几乎是一模一样的 - 控制器:$data=Lesson::paginate(2); ...

  3. 黑马lavarel教程---12、lavarel验证码

    黑马lavarel教程---12.lavarel验证码 一.总结 一句话总结: 用插件的时候仔细看插件的版本要求 1.lavarel安装验证码插件的时候,如果(可选)需要定义自己的配置,则需要生成配置 ...

  4. 黑马lavarel教程---5、模型操作(AR模式)

    黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...

  5. 黑马lavarel教程---9、缓存操作

    黑马lavarel教程---9.缓存操作 一.总结 一句话总结: legend2项目中自己写的哪些文件操作都可以通过这里的缓存实现,简单方便 1.lavarel中如何使用后端主流的缓存如 Memcac ...

  6. 黑马lavarel教程---7、文件上传

    黑马lavarel教程---7.文件上传 一.总结 一句话总结: 在laravel里面实现文件的上传是很简单的,压根不用引入第三方的类库,作者把上传作为一个简单的http请求看待的. 1.在lavar ...

  7. 黑马lavarel教程---3、数据库和视图注意点

    黑马lavarel教程---3.数据库和视图注意点 一.总结 一句话总结: 使用其实都很简单,MVC的框架都很像,用的时候直接可以去看手册,这样才能记得住 1.数据库删除操作注意? 删非删:很多网站的 ...

  8. 黑马lavarel教程---11、响应处理

    黑马lavarel教程---11.响应处理 一.总结 一句话总结: 如果在昂扬状态,看学习视频和运动时间重合,会很舒服 1.jquery的$.post参数为什么不需要占位? 因为每个参数的类型不同,可 ...

  9. 黑马lavarel教程---10、lavarel模型关联

    黑马lavarel教程---10.lavarel模型关联 一.总结 一句话总结: 1.模型关联比较方便,一次定义,后面都可以使用 2.关联关系 使用动态属性进行调用 1.一对多,多对多实例? 一对多: ...

最新文章

  1. 十三、冒泡排序算法及其优化
  2. mybatis plus 中 EntityWrapper源码解读
  3. 电大计算机基础知识试题是什么样的,计算机应用基础知识(电大试题)
  4. NLPCC:预训练在小米的推理优化落地
  5. 寒假每日一题(提高组)【Week 1 完结】
  6. python独一无二的路_独一无二的Python基础学习——可用作面试
  7. 红外传感器型号和参数_深度解析红外传感器原理、分类、性能参数、应用及前景...
  8. chrome 安装 gliffy插件以及使用
  9. Qt 打印文档(PDF)
  10. Tempo超进化,提效降本好帮手,工时管理小当家 Timewise
  11. 路由器运行python脚本_在路由器中运行Python
  12. 论文笔记 | code representation(代码表示学习)系列
  13. 长翅膀的不一定是天使
  14. 服务器w7系统,w7系统的云服务器
  15. github.com/stretchr/testify/suite
  16. 图像基本特征-颜色 纹理 形状
  17. 流媒体下载软件Streambox VCR
  18. 计算机1.1n次方等于100,1的N次方等于1,那1.01的365次方是多少?小进步助你迎来闪光时刻...
  19. 2019年燕山大学大学生程序设计大赛(一)
  20. python工匠技巧系列(给变量注明类型)

热门文章

  1. Unity使用 16bit 压缩 Texture 颜色能均匀过渡
  2. c#利用WebClient和WebRequest获取网页源代码的比较
  3. 154 Find Minimum in Rotated Sorted Array 2
  4. 一个函数两个return
  5. 【原创】Kakfa metrics包源代码分析
  6. WebService的事务处理 (转)
  7. ASP隐藏文件地址,并在下载时替换文件名
  8. 机器学习资料推荐 URL
  9. WCF的CommunicationObjectFaultedException异常问题
  10. Netty 简单服务器 (三)