相关疑难解决方法(0)

Laravel 5.1在表单请求验证之前修改输入

有没有办法在验证发生之前修改表单请求类中的输入字段?

我想修改一些输入日期字段,如下所示,但它似乎不起作用.

当我设置$this->start_dt的输入字段2016-02-06 12:00:00$this->end_dt2016-02-06 13:00:00我仍然得到验证错误"END_DT必须start_dt后".这意味着更新$this->start_dt$this->end_dtrules()函数内部时,输入请求值不会更改.

public function rules()
{
    if ($this->start_dt){
        $this->start_dt = Carbon::createFromFormat('d M Y H:i:s', $this->start_dt . ' ' . $this->start_hr . ':'. $this->start_min . ':00');
    }

    if ($this->end_dt){
        $this->end_dt = Carbon::createFromFormat('d M Y H:i:s', $this->end_dt . ' ' . $this->end_hr . ':'. $this->end_min . ':00');
    }

    return [
        'start_dt' => 'required|date|after:yesterday',
        'end_dt' => 'required|date|after:start_dt|before:' . Carbon::parse($this->start_dt)->addDays(30)            
    ];
}
Run Code Online (Sandbox Code Playgroud)

注意: start_dt并且end_dt是日期选择器字段和 …

php validation laravel-5 laravel-5.1

6
推荐指数
3
解决办法
4890
查看次数

Laravel 5请求 - 更改数据

我遇到了一个需要更改需要验证的数据的实例,即当没有提交slug时,从标题创建一个然后验证它是唯一的.

请求有一个方法replace(),它应该替换请求中的输入数据,但它似乎不起作用.任何人都可以对此发光吗?这就是我所拥有的:

<?php namespace Purposemedia\Pages\Http\Requests;

use Dashboard\Http\Requests\Request;
use Illuminate\Auth\Guard;

class PageRequest extends Request {

    /**
     * [authorize description]
     * @return {[type]} [description]
     */
    public function authorize( Guard $auth) {
        return true;
    }

    /**
     * [rules description]
     * @return {[type]} [description]
     */
    public function rules() {
        // Get all data from request
        $data = $this->request->all();
        if( $data['slug'] === '' ) {
            // if the slug is blank, create one from title data
            $data['slug'] = str_slug( $data['title'], '-' );
            // …
Run Code Online (Sandbox Code Playgroud)

request laravel laravel-5 laravel-validation laravel-request

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