Laravel 基本范例

示例

您可以使用validate方法(由ValidatesRequeststrait提供的基本Controller中提供)来验证请求数据。

如果规则通过,您的代码将继续正常执行;但是,如果验证失败,包含验证错误的错误响应将自动发送回:

  • 对于典型的HTML表单请求,用户将被重定向到上一页,并且表单将保留提交的值

  • 对于需要JSON响应的请求,将生成代码为422的HTTP响应

例如,在中UserController,您可能正在方法中保存一个新用户store,这需要在保存之前进行验证。

/**
 * @param  Request  $request
 * @return Response
 */
public function store(Request $request) {
    $this->validate($request, [
        'name' => 'required',
        'email' => 'email|unique:users|max:255'
    ],
    // 验证消息的第二个数组可以在此处传递
    [
        'name.required' => 'Please provide a valid name!',
        'email.required' => 'Please provide a valid email!',
    ]);

    // 验证通过
}

在上面的示例中,我们验证该name字段是否存在非空值。其次,我们检查该email字段是否具有有效的电子邮件格式,在数据库表“ users”中是唯一的,并且最大长度为255个字符。

所述|(管)字符为一个场结合不同的验证规则。

有时您可能希望在第一次验证失败后停止对属性运行验证规则。为此,请将bail规则分配给属性:

$this->validate($request, [
    'name' => 'bail|required',
    'email' => 'email|unique:users|max:255'
]);

可用验证规则的完整列表可以在下面的参数部分中找到。