Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 假设$this来自兼容上下文,则不应静态调用非静态方法basemodel::validate()_Laravel - Fatal编程技术网

Laravel 假设$this来自兼容上下文,则不应静态调用非静态方法basemodel::validate()

Laravel 假设$this来自兼容上下文,则不应静态调用非静态方法basemodel::validate(),laravel,Laravel,正在尝试从控制器中的basemodel调用验证方法验证我的注册表 方法 public function postSIgnup () { $validation = User::validate(Input::all()); } 路线 路由::post('register',array('before=>'csrf','uses'=>'UsersController@postSignup')); 帮助mi解决此问题您不能只说“验证我的整个表单”。 发生此错误的原因是

正在尝试从控制器中的basemodel调用验证方法验证我的注册表 方法

  public function postSIgnup () 
  {
        $validation = User::validate(Input::all());
  }
路线

路由::post('register',array('before=>'csrf','uses'=>'UsersController@postSignup'));


帮助mi解决此问题

您不能只说“验证我的整个表单”。 发生此错误的原因是您试图使用Laravel提供的验证方法

Laravel中的基本表单验证

首先,您需要获取所有表单数据/内容

$input = Input::all();
其次,您可以设置一些规则。这些规则可以在Laravel将使用的数组中设置。 确保名字拼写正确。(这些是您在表单模板中使用的模板。)

要使用验证器,您必须首先创建一个新实例: 您可以附加表单输入和上面设置的规则。 当它们匹配时,您可以将表单保存到数据库中,或者对其执行其他操作。这可能看起来像:

$validator = Validator::make($input,$rules);
酷,, 我们现在可以检查验证器是否通过

if($validator->fails()){
 $messages = $validator->messages();
 return Redirect::to('yourpage')->withErrors($messages);
}else{
 // Handle your data... 
}

什么错误?你能给我们提供更多的代码吗?请添加您的刀片模板和您的路线。
if($validator->fails()){
 $messages = $validator->messages();
 return Redirect::to('yourpage')->withErrors($messages);
}else{
 // Handle your data... 
}