Laravel验证请求类返回带有错误的模型

时间:2016-05-05 02:02:59

标签: laravel laravel-validation

验证带有请求类的表单时,您可以使用validate()方法手动验证数据,但是您返回的内容我尝试返回$ this并返回$ this->错误但它只显示SQL完整性约束重复条目,这是正确的,但它不会显示我的错误表单。在控制器内部进行验证时,您将返回模型和错误,但我会返回什么,并在请求类中的validate方法上设置错误。

请求类:     

namespace App\Http\Requests;

use App\Http\Requests\Request;
use Auth;

class ProductRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    protected $action;

    public function authorize()
    {
        if(Auth::check()) {
            return true;            
        }        
    }

    public function validate() {

        $v = \Validator::make(parent::all(), $this->rules());
        if ($v->passes()) return true;
        $this->errors = $v->messages();
        // tried returning $this; and $this->errors
        return false;         
    }

    public function all()
    {
        $data = parent::all();

        if( $data['slug'] === '') {
            // if the slug is blank, create one from title data
            $data['slug'] = str_slug( $data['title'], '-' );
        }

        return $data;
    }

    public function messages()
    {
    }

    public function rules() {
    }

}

1 个答案:

答案 0 :(得分:1)

你的规则方法是空的你没有验证你得到的任何错误是SQL异常而不是验证错误。