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
我正在使用 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)
因此,错误更加具体和清晰。
那么,如何实现这一目标呢?
谢谢!
我想验证请求验证类中的路由参数。我知道这个问题之前已经被问过很多次了,但是根据这个问题,我覆盖了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
我使用以下代码附加两个链接的查询字符串.但我想从查询字符串中排除分页的页面参数.
<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) 我正在努力从我的中间件访问路由前缀参数.
给定此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()我的中间件给了我路由的一部分,但这似乎是一种访问数据的脆弱方式.如果路线改变怎么办?
因此,假设我有一个名为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当他是客人时,我怎么能确切地要求我的客户填写?
我正在尝试使用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
我在测试 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
当我使用FormRequest扩展类验证请求时遇到问题。因为当收到错误请求时会重定向并且我需要带有验证错误的响应。
我在用着:
我的 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
我的应用程序有三种类型的用户,每种类型都有自己的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。
我做错了什么,最好的处理方法是什么。
laravel-request ×10
laravel ×8
laravel-5 ×5
php ×5
laravel-5.5 ×3
laravel-5.4 ×1
laravel-5.7 ×1
phpunit ×1
redirect ×1
routing ×1
validation ×1