标签: laravel-request

get the request values in Laravel

I wish to make search query by datepicker and select field. How could I get the requests values from below view file to controller? Where could I modify in the code? thanks.

index.blade.php

<div class="form-group col-sm-6">
    {!! Form::open(array('class' => 'form', 'method' => 'get', 'url' => url('/pdfs/job_finished_search'))) !!} 
       {!! Form::input('text', 'datepicker_from', null, ['placeholder' => 'Fra', 'id' => 'datepicker_from']) !!}
       {!! Form::input('text', 'datepicker_to', null, ['placeholder' => 'Til', 'id' => 'datepicker_to']) !!} 
       {!! Form::select('customer_name', $jobs->pluck('customer_name', 'customer_name')->all(), null, ['class' => 'form-control']) !!}
       {!! Form::submit('Søke', …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-request laravel-response laravel-query-builder

4
推荐指数
2
解决办法
2万
查看次数

自定义 Laravel API 验证响应

我正在使用 Laravel 构建 REST API,想知道是否有办法在验证时自定义 API 响应。

例如,我在 Laravel 请求中有一个验证规则,表示需要特定字段。

public function rules() {
   return [
       'title'=>'required|min:4|max:100',
   ];
}
Run Code Online (Sandbox Code Playgroud)

因此,对于此验证,我在 Postman 中收到如下错误消息

{
    "title": [
        "Please enter Ad Title"
    ]
}
Run Code Online (Sandbox Code Playgroud)

我想要的是像这样自定义该响应..

{
    "success": false,
    "message": "Validation Error"
    "title": [
        "Please enter Ad Title"
    ]
}
Run Code Online (Sandbox Code Playgroud)

因此,错误更加具体和清晰。

那么,如何实现这一目标呢?

谢谢!

php validation laravel laravel-request

4
推荐指数
1
解决办法
5187
查看次数

Laravel 5.7 - 覆盖请求验证类中的 all() 方法以验证路由参数?

我想验证请求验证类中的路由参数。我知道这个问题之前已经被问过很多次了,但是根据这个问题,我覆盖了all()方法并收到了这个错误:

Class App\Http\Requests\DestroyUserRequest does not exist
Run Code Online (Sandbox Code Playgroud)

我正在使用 Laravel 5.7。

路线:

Route::delete('/user/{userId}/delete', 'UserController@destroy')->name('user.destroy');
Run Code Online (Sandbox Code Playgroud)

控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests\DestroyUserRequest;
use App\User;

class UserController extends Controller
{

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function destroy(DestroyUserRequest $request)
    {
        User::find($request->route('userId'))->delete();
        return $request->route('userId');
    }
}
Run Code Online (Sandbox Code Playgroud)

销毁用户请求:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class DestroyUserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5 laravel-validation laravel-request laravel-5.7

4
推荐指数
1
解决办法
2202
查看次数

Request :: getQueryString()没有一些参数

我使用以下代码附加两个链接的查询字符串.但我想从查询字符串中排除分页的页面参数.

<li><a href="/teachers?{{ Request::getQueryString()}}">Teachers</a></li>

<li><a href="/courses?{{ Request::getQueryString()}}">Courses</a></li>
Run Code Online (Sandbox Code Playgroud)

这样做的方法是什么?我尝试了以下代码,但它产生了错误.

<li><a href="/teachers?{{ Request::getQueryString()->except('page') }}">Teachers</a></li>

<li><a href="/courses?{{ Request::getQueryString()->except('page') }}">Courses</a></li>
Run Code Online (Sandbox Code Playgroud)

laravel laravel-routing laravel-5 laravel-request

3
推荐指数
1
解决办法
2355
查看次数

从中间件访问路由前缀中的URL参数

我正在努力从我的中间件访问路由前缀参数.

给定此URL:http://www.example.com/api/v1/campaign/40/status和以下路由:

Route::group( [
    'prefix' => 'api/v1'
], function()
{
    Route::group( [
        'prefix' => 'campaign/{campaign}',
        'where' => [ 'campaign' => '[0-9]+' ],
        'middleware' => [
            'inject_campaign'
        ]
    ], function()
    {
        Route::get( 'status', 'CampaignController@getStatus' );
    } );
} );
Run Code Online (Sandbox Code Playgroud)

如何从我的inject_campaign中间件访问广告系列参数(示例网址中的40)?我有中间件运行正常,但无法解决如何访问参数.

调用$request->segments()我的中间件给了我路由的一部分,但这似乎是一种访问数据的脆弱方式.如果路线改变怎么办?

php routing laravel laravel-5 laravel-request

3
推荐指数
1
解决办法
1597
查看次数

Laravel 验证需要用户是否登录

因此,假设我有一个名为CreateReviewRequest.

在这个请求中,我有这个方法:

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'name'      => 'required_if(auth->logged)',
        'comments'  => 'required|max:255',
        'stars'     => 'required|min:1|max:5',
    ];
}
Run Code Online (Sandbox Code Playgroud)

正如您在name密钥中看到的那样,name如果他没有登录,我希望客户被要求填写该字段。

所以我的问题是,name当他是客人时,我怎么能确切地要求我的客户填写?

php laravel laravel-validation laravel-request

3
推荐指数
1
解决办法
3728
查看次数

Laravel 5.5从本地磁盘读取文件

我正在尝试使用Laravel 5.5从本地文件位置导入一个csv文件。由于某种原因,它在我的计算机上找不到文件,但是路径正确。

$fileLocation = $request->file('file')->store('csv');
$importFile = File::file(storage_path('app/' . $fileLocation));
Run Code Online (Sandbox Code Playgroud)

php laravel-request laravel-filesystem laravel-5.4 laravel-5.5

3
推荐指数
1
解决办法
4407
查看次数

Laravel 5.5 测试 JSON 标头不起作用

我在测试 Laravel 5.5 时遇到问题。我需要在 TEST HEADER 中发送一个不记名令牌,但不起作用

public function testAuthCheckinvalidToken()
    {
        $response = $this->withHeaders([
            'Accept' => 'application/json',
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer ' . $this->token,
        ])->json('GET', 'auth/check');
    ...
    }
Run Code Online (Sandbox Code Playgroud)

当我 dd($response) 时,只设置了默认的 HEADERS:

#headers: array:5 [
            "cache-control" => array:1 [
              0 => "no-cache, private"
            ]
            "date" => array:1 [
              0 => "Tue, 21 Nov 2017 18:48:27 GMT"
            ]
            "content-type" => array:1 [
              0 => "application/json"
            ]
            "x-ratelimit-limit" => array:1 [
              0 => 60
            ]
            "x-ratelimit-remaining" => array:1 [
              0 …
Run Code Online (Sandbox Code Playgroud)

phpunit laravel-5 laravel-request laravel-response laravel-5.5

2
推荐指数
1
解决办法
3885
查看次数

laravel 5.5 FormRequest 类正在重定向到我,我需要发送数组错误响应

当我使用FormRequest扩展类验证请求时遇到问题。因为当收到错误请求时会重定向并且我需要带有验证错误的响应

我在用着:

  • PHP 7.1.1 (cli)(内置:2017 年 1 月 18 日 18:51:14)( ZTS MSVC14 (Visual C++ 2015) x86 )版权所有 (c) 1997-2017 PHP Group Zend Engine v3.1.0,版权所有 (c) 1998 -2017 Zend 技术。
  • Laravel v5.5.2

我的 FormRequest 类:

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class BillRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-validation laravel-request laravel-response laravel-5.5

1
推荐指数
1
解决办法
911
查看次数

Laravel 如果经过身份验证中间件则重定向

我的应用程序有三种类型的用户,每种类型都有自己的dashboard。我需要检查管理员或任何其他用户是否无法看到另一个用户仪表板。

有一个中间件RedirectIfAuthenticated

public function handle($request, Closure $next, $guard = null){

    if (Auth::guard($guard)->check() && auth()->user()->type == 'admin'){
        return redirect('/admin');
    }

    if (Auth::guard($guard)->check() && auth()->user()->type == 'author'){
        return redirect('/author');
    }

    if (Auth::guard($guard)->check() && auth()->user()->type == 'client'){
        return redirect('/client');
    }
}
Run Code Online (Sandbox Code Playgroud)

它位于guest中间件之下。

上面的代码对我来说似乎不错,但是当我测试它时,浏览器说Too many redirects

我做错了什么,最好的处理方法是什么。

php redirect laravel laravel-5 laravel-request

1
推荐指数
1
解决办法
1万
查看次数