php laravel javascript表单验证,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'))

{{ Session::get('success') }}

@endif

@if(count($errors))

@foreach($errors->all() as $val)

{{$val}}

@endforeach

@endif

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

数据保持:

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

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

页面中使用old方法:

姓名 :

性别 :

@foreach($student->user_sex() as $ind=>$val)

{{$val}}

@endforeach

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值