Php Laravel表单请求和验证
下面是我在控制器(Laravel 5)上对创建/存储和编辑/更新方法使用单表单验证请求的解决方案 这是一个繁琐而丑陋的黑客程序(即,它读取URI段以获取正在编辑的记录的id)。是否有更好的方法确定请求是否从编辑/更新请求接收信息?(不直接向请求传递$id和标志)Php Laravel表单请求和验证,php,laravel,laravel-5,laravel-routing,laravel-validation,Php,Laravel,Laravel 5,Laravel Routing,Laravel Validation,下面是我在控制器(Laravel 5)上对创建/存储和编辑/更新方法使用单表单验证请求的解决方案 这是一个繁琐而丑陋的黑客程序(即,它读取URI段以获取正在编辑的记录的id)。是否有更好的方法确定请求是否从编辑/更新请求接收信息?(不直接向请求传递$id和标志) 如果您遵循正确的restful路由技术,那么您可以使用请求类型,为任何验证提供通用解决方案 public function rules() { if($request()->isMethod('put')) {
如果您遵循正确的restful路由技术,那么您可以使用请求类型,为任何验证提供通用解决方案
public function rules()
{
if($request()->isMethod('put'))
{
// Update rules here
}
return $this->rules;
}
好的,我已经用谷歌解决了我自己的问题;这里有一个关于这个主题的好资源 以下任何一项都有效(替换上述原始代码中的段id线)
- $id=$this->route()->parameters()[“companys”]李>
- $id=$this->route()->getParameter('companys')李>
- $id=$this->route('companys')李>
- $id=$this->companies
$request()->id
,因为它是绑定在路由中的?我刚刚阅读了你上面的评论。因为它是一个资源控制器-它可能是$request()->companiesId
或$this->companiesId
,我已经尝试了上述所有方法,它们返回null-控制器没有将id传递给请求?
public function rules()
{
if($request()->isMethod('put'))
{
// Update rules here
}
return $this->rules;
}