设为首页 加入收藏

TOP

php Laravel5.5 表单验证常用的验证规则,以及示例(一)
2019-08-15 23:26:53 】 浏览:44
Tags:php Laravel5.5 表单 验证 常用 规则 以及 示例
namespace App\Http\Controllers;

use App\Models\Users;
use Illuminate\Support\Facades\Validator;
use Symfony\Component\HttpFoundation\Request;

class UsersController extends Controller{

// 添加用户post数据验证
 public function create(Request $request){
   if($request->isMethod('POST')){
     $data=$request->input('users');
            // 1.控制器的验证演示 Controller中 use ValidatesRequests 就可以直接调用;
            // blade中HTML中form表单中name的传值演示 <input name="users[u_mobile]" placeholder="请输入" class="layui-input" type="text">
            // <input name="u_gender" value="1" type="radio"><input name="u_gender" value="2" type="radio">
            $this->validate($request,[   // 以下正则验证都是自己随意编写的并没有严格去验证,如需要严格的请自行编写或百度,#此处只为重点讲Laravel可用验证用法
		        //required必须输入 unique 唯一(在users表中u_mobile[手机号]为唯一,不允许重复,regex表达式验证) 此处要用多个条件验证和regex正则建议采用[]形式中间用逗号分隔
                'users.u_mobile'=>['required','unique:users','regex:/^1[3|4|5|7|8][0-9]{9}$/'], // 如果是一维数组直接'u_mobile'就可以了;
                // 编辑过程中验证唯一示例如:'users.u_mobile'=>['required',Rule::unique('users')->ignore($user->id),'regex:/^1[3|4|5|7|8][0-9]{9}$/'],
                // $user为查出的用户对象,ignore是为了强迫Unique规则忽略指定ID($user->id)再进行判断唯一,如果不是在控制器中使用validate验证你可以采用request('id')来获取指定id,request为一个辅助函数很实用 
                'users.u_qq'=>['required','regex:/^[1-9][0-9]{4,}$/'], // QQ号 还可采用简写 'users.u_qq' => 'required|regex:/^[1-9][0-9]{4,}$/',
                'users.u_email'=>['required','unique:users','regex:/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/'],  // 大概的邮箱验证
                'u_gender'=>'required|in:1,2',          // in 的用法用户性别只能输入1和2(男/女)  此处采用中划线的形式验证     如果文字也可以设置为 'required|in:男,女'
                'users.u_nickname'=>['required','regex:/^[_\w\d\x{4e00}-\x{9fa5}]{3,20}$/iu'], // 随意写的用户名验证
                /*****以下开始重点演示可用的验证用法,有些命名属性和users几乎无什么关联了,重点看验证规则写法,其它的并不重要****/
                'salary' => 'required|integer|min:1000', // 工资 integer必须为整数,但是数字必须不能超过2147483647否则它将判断为“不是整数”, min最小值为1000
                // nullable 允许输入为空, required_if如果用户性别选择了为1那么input中属性name="name"输入框就必须要填写
		        'users.name' => 'nullable|required_if:u_gender,1|string|between:1,10', // between 之间(包括1和10) 姓名必须在字数1位和10位之间
		        'tel'=>['nullable','regex:/^((0\d{2,3}-?)?\d{7,8})|(1[3-9]\d{9})$/'],  // 联系电话(座机号和手机号都可以),输入可以为空,但有输入值时就必须按照正则验证
		        'users.id_no' =>['required','regex:/(^\d{17}[0-9xX]{1}$)|(^\d{14}[0-9xX]{1}$)/'],  // 身份证号码验证(包括15位的验证)
                'users.age' => ['nullable', 'integer', 'regex:/^[1-9][0-9]?$/'], //年龄 也可以尝试中划线形式:'nullable|integer|regex:/^[1-9][0-9]?$/'
                // 余额 numeric必须为数字,max最大值为922337203685477 但是max设置为9223372036854771 但用户输入9223372036854772、9223372036854773 也可以验证通过
                // max设置为9223372036854775807 但输入 9223372036854775808、9223372036854775809 还是会通过 所以max还有些缺陷请谨慎使用!
                // 同样的问题在 between用于数字类型的精确的范围之间验证也会出现问题,如:between:1,9223372036854771 输入9223372036854773 也会通过,也需要注意!!!  
                'balance' => 'nullable|numeric|min:1|max:922337203685477', //max如果是数字类型,最大为922337203685477内能精确验证,超过了可能出现问题.
                //html模版如: 互联网<input type="checkbox" name="industry_nos[]" value="1"> 建筑<input type="checkbox" name="industry_nos[]" value="2">
                'indust
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【淘宝客】PHPMailer-v6.0.5版 发.. 下一篇PHP-入门指引1

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目