Laravel框架表单验证操作实例分析

本文实例讲述了Laravel框架表单验证操作。分享给大家供大家参考,具体如下:

public function create(Request $request){
  if($request->isMethod('POST')){
    //验证通过后继续进行
    //方法1 控制器验证
    $this->validate($request,[
      'Student.name' => 'required|min:2|max:20',
      'Student.age' => 'required|integer',
      'Student.sex' => 'required|integer',
    ],[
      'required'=>':attribute 为必填项',
      'min' => ':attribute 长度不符合要求',
      'integer' => ':attribute 必须是一个整形',
    ],[ 'Student.name' => '姓名',
      'Student.age' => '年龄',
      'Student.sex' => '性别',
    ]);
    //方法2 Validator类验证
    $validator = \Validator::make($request->input(),[
      'Student.name' => 'required|min:2|max:20',
      'Student.age' => 'required|integer',
      'Student.sex' => 'required|integer',
    ],[
      'required'=>':attribute 为必填项',
      'min' => ':attribute 长度不符合要求',
      'integer' => ':attribute 必须是一个整形',
    ],[ 'Student.name' => '姓名',
      'Student.age' => '年龄',
      'Student.sex' => '性别',
    ]);
    if($validator->fails()){
      return redirect()->back()->withErrors($validator)->withInput();
    }
    //如果验证通过,则继续执行下面的代码
    $data = $request->input('Student');
    if(Student::create($data)){
      return redirect('student/index')->with('success','添加成功');
    }else{
      return redirect()->back();
    }
  }
  return view('student.create');
}

注意Laravel的create方法,需要在model中

设置允许批量赋值:

protected $fillable = ['name','age'];

web中间件有个作用是防止xss攻击,即csrf,需要在页面的表单中增加{{ csrf_field() }},
会生成一个隐藏的input表单,带个token字段。

错误信息的显示:

控制器中的with方法,可以把信息放入session中

return redirect('Student/index')->with('success','添加成功');

页面中的显示:

@if(Session::has('success'))
<div>
  {{ Session::get('success') }}
</div>
@endif
@if(count($errors))
  <div class="alert alert-danger">
    <ul>
      @foreach($errors->all() as $val)
        <li>{{$val}}</li>
      @endforeach
    </ul>
  </div>
@endif

{{$errors->first()}}可以显示第一条错误信息

数据保持:

return redirect()->back()->withErrors($validator)->withInput();

这段代码中的withInput可以把表单提交的信息带回去,

页面中使用old方法:

姓名 :<input type="text" name="Student[name]" value="{{ old('Student')['name'] }}" />
性别 :
@foreach($student->user_sex() as $ind=>$val)
<input type="radio" name="Student[sex]" value="{{$ind}}" {{ old('Student')['sex']==$ind?'checked':'' }} />{{$val}}
@endforeach

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作

    本教程基于Laravel 5.4 开始之前首先准备好开发环境,我们假设你已经安装好 Laravel,至于 Vue 的引入,请参考官方文档. 做好上述准备工作后就可以开始我们的开发了,本教程中我们将演示文章发布页面的表单 验证 . 首先在 routes/web.php 中新增两条路由规则: Route::get('post/create', 'PostController@create'); Route::post('post/save', 'PostController@save'); 然后在项

  • Laravel框架表单验证详解

    基础验证例子 复制代码 代码如下: $validator = Validator::make( array('name' => 'Dayle'), array('name' => 'required|min:5') ); 传递给 make 函数的第一个参数是待验证的数据,第二个参数是对该数据需要应用的验证规则. 多个验证规则可以通过 "|" 字符进行隔开,或者作为数组的一个单独的元素. 通过数组指定验证规则 复制代码 代码如下: $validator = Validator

  • Laravel中使用FormRequest进行表单验证方法及问题汇总

    在`Laravel`中,每一个请求都会被封装为一个`Request`对象,`Form Request`对象就是包含了额外验证逻辑(以及访问权限控制)的自定义`Request`类. 本文分析了FormRequest异常的处理流程并提出了自定义处理FormRequest验证失败的思路. 所有示例基于Laravel 5.1.39 (LTS) 今天天气不错,我们来说说表单验证. Controller中做表单验证 有的同学把表单验证逻辑写在Controller中,例如这个对用户提交评论内容的验证: <?p

  • laravel5.2表单验证,并显示错误信息的实例

    首先说下原理,表单验证使用validate验证器进行验证,如果表单验证不通过,将表单数据和错误信息闪存到session中去,然后再到表单中进行展示. 1.验证器规则的写法,返回一个规则数组 public function rule() { return [ 'name' => [ 'required', 'max: 5', 'min: 2', 'regex: /^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u' ], 'password' => [ 'required',

  • Laravel中表单size验证数字示例详解

    前言 要验证一个数字的确定值,看了表单验证文档 size:value验证的字段必须具有与给定值匹配的大小.对于字符串来说,value 对应于字符数.对于数字来说,value 对应于给定的整数值.对于数组来说, size 对应的是数组的 count 值.对文件来说,size 对应的是文件大小(单位 kb ). 写的验证规则是这样的 $data = ['age' => 9]; $validator = \Illuminate\Support\Facades\Validator::make($data

  • laravel5表单唯一验证的实例代码

    记录一下关于laravel5的unique验证: 1.路由: Route::resource('/users', 'UsersController'); 2.Request: public function rules() { return [ 'email' => 'required|unique:users,email,' . $this->route('user')->id, 'username' => 'required', ]; } 3.控制器 public functi

  • Laravel 5框架学习之表单验证

    在建立一个文章的时候,如果你什么都不输入直接提交,ok,你获得了一个空的文章,没有任何错误提示,这是不对的.在命令行下运行 php artisan 可以看到一个选项 make:request,新建一个form request类.在命令行执行 复制代码 代码如下: php artisan make:request CreateArticleRequest 生成的文件在 app/http/requests 目录下.在文件中我们可以看到两个方法: public function authorize()

  • Laravel框架表单验证格式化输出的方法

    最近在公司的项目开发中使用到了 laravel 框架,采用的是前后端开发的模式.接触过前后端开发模式的小伙伴应该都知道,后端返回的数据格式需要尽可能搞得保证一致性,这样前端在处理时也方便处理.我们先通过观看下面的两张接口返回的效果图吧,这样或许会更加的直观一些. laravel默认的输出格式(图一) 修改后的输出格式(图二) 或许通过上面两张图,你还是未看出有什么区别的话.这里我用文字描述一下吧. 这种情况是发生在laravel做表单验证的情况下发生的.前端向我后端接口发送一个POST请求时,发

  • Laravel 4 初级教程之Pages、表单验证

    1. 构建Pages管理功能 运行命令: php artisan generate:controller admin/PagesController 修改PagesController.php 内容: <?phpnamespace App\Controllers\Admin;use Page;use Input, Notification, Redirect, Sentry, Str;use App\Services\Validators\PageValidator;class PagesCon

  • Laravel框架表单验证操作实例分析

    本文实例讲述了Laravel框架表单验证操作.分享给大家供大家参考,具体如下: public function create(Request $request){ if($request->isMethod('POST')){ //验证通过后继续进行 //方法1 控制器验证 $this->validate($request,[ 'Student.name' => 'required|min:2|max:20', 'Student.age' => 'required|integer'

  • Laravel5.1 框架表单验证操作实例详解

    本文实例讲述了Laravel5.1 框架表单验证操作.分享给大家供大家参考,具体如下: 当我们提交表单时 通常会对提交过来的数据进行一些验证.Laravel在Controller类中使用了一个traint:ValidatesRequest.方便我们在控制器中使用验证器. 下面我们就来看一个验证表单的例子. 1 准备 1.1 创建路由 Route::resource('/post', 'PostController'); 1.2 创建控制器 php artisan make:controller

  • Laravel框架Auth用户认证操作实例分析

    本文实例讲述了Laravel框架Auth用户认证操作.分享给大家供大家参考,具体如下: (1)生成Auth所需文件 打开phpstorm的命令行: php artisan make:auth 生成成功后,打开web.php, 发现多了如下代码: Auth::routes(); Route::get('/home', 'HomeController@index')->name('home'); 然后访问 localhost/laravel/public/home就可以看到登录页面, 如果样式不正常

  • Laravel框架环境与配置操作实例分析

    本文实例讲述了Laravel框架环境与配置操作.分享给大家供大家参考,具体如下: Laravel 5 安装根目录下 .env 文件是配置文件.打开 config/database.php 可以看到,它返回一个PHP数组,该配置文件提供了各种数据库可能用到的配置.connections 里包含了数据库配置.修改'default' => 'mysql',参数可以选择需要使用的数据库. 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB

  • CI框架表单验证实例详解

    本文实例讲述了CI框架表单验证的方法.分享给大家供大家参考,具体如下: 1.form头部信息的自动输出函数(view) <?php $attributes = array('class' => 'email', 'id' => 'myform'); echo form_open('email/send', $attributes); //上面一行代码输出: //<form method="post" accept-charset="utf-8"

  • 正则表达式基本语法及表单验证操作详解【基于JS】

    本文实例讲述了正则表达式基本语法及表单验证操作.分享给大家供大家参考,具体如下: 正则表达式是一种可以用于模式匹配和替换的强有力的工具,是数据的有效性验证. 一.基本语法 位于"/"定界符之间的部分就是将要在目标对象中进行匹配的模式.用户只要把希望查找匹配对象的模式内容放入"/"定界符之间即可.为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的"元字符".所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(

  • 表单验证正则表达式实例代码详解

    表单验证正则表达式具体内容如下所示: 首先给大家解释一些符号相关的意义 1.  /^$/ 这个是个通用的格式. ^ 匹配输入字符串的开始位置:$匹配输入字符串的结束位置 2. 里面输入需要实现的功能. * 匹配前面的子表达式零次或多次:        + 匹配前面的子表达式一次或多次:        ?匹配前面的子表达式零次或一次:        \d  匹配一个数字字符,等价于[0-9] 下面通过一段代码给大家分析表单验证正则表达式,具体代码如下: <!DOCTYPE html> <h

  • React中使用async validator进行表单验证的实例代码

    react中进行表单验证毫无疑问是繁琐的,尤其对于动态添加或删除的表单,其验证逻辑更为复杂, 目前UI框架使用material ui ,但其表单处理不太理想,而后研究了一下另一个UI 框架 ant design, 其对表单的处理大大方便了逻辑的编写, 它使用async-validator处理验证逻辑 目前更换框架毫无疑问是不现实的,于是就想直接引入async-validator,下面描述一个简单的使用,具体信息可以去github上查看 validate.js import Schema from

随机推荐