Laravel 表单验证规则:required、present 、filled 和 nullable

三个概念

在解释这四个验证规则前,需要明晰三个概念——空值(empty)、输入数据(input data)和验证字段(filed under validation)。

空值

在 Laravel 中,一个字段值满足下面任一条件都被视为空值。

  • null
  • 空字符串('')。
  • 空数组([])或空 Countable 对象。
  • 无路径的上传文件。

输入数据&验证字段

以注册功能为例。

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;

public function register(Request $request)
{
    $this->validator($request->all())->validate();

    ...
}

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
    ]);
}

$request->all() 就是「输入数据」,Validator::make 里的 nameemailpassword 就是「验证字段」。

验证规则

required

验证字段必须出现在输入数据中、不能为空。

present

验证字段必须出现在输入数据中、能为空。

filled

验证字段可不在输入数据中。

当验证字段出现在输入数据中时,不能为空。

nullable

验证字段的值可以是 null

参考链接

https://learnku.com/docs/laravel/5.4/validation#av...

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 6年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

OK,理解,谢谢

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!