关于多个rule 我们在Request 里面怎么识别是那个function 请求的呢?

https://laravist.com/series/laravel-5-basic/episodes/12

如上述教程里面讲的。

视频在播放到8:33 的时候讲述得到 多个请求都走同一个 rule 的时候。但是……对于我们小白还是不知道……我看了好久的 http://laravel.com/docs/5.1/validation#rule-array

也没看到多个的时候怎么处理……

public function rules()
 {
 //更新数据的时候我想反悔如下
     return [
         'tel' => "required|digits:11",
         'email' => 'email'
     ];
 //新增的时候我就走这的rule 规则
     return [
         'username' => 'required|unique:system_user,username',
         'email' => 'required|unique:system_user,email',
         'tel' => "required|digits:11",
         'email' => 'email'
     ];
 }

创建的 Route 是 /user/create

更新的 Route 是 /user/update

请问怎么识别?

补充一个问题。
如我想除本身id以外的数据才执行email唯一更新怎么弄?
我按照官方的文档弄的是这样的。

'email' => 'email|unique:user,email,'.\Auth::user()->id

我打印了一下数据是这样的

"email|unique:user,email,563496beab600d5237124848"

数据也是没问题的。
但是呢老提示……
email重复了。啥情况?

上问题答案:::::

感谢 @justtest 的处理

因为我安装的是mongodb 所以我的主键是 _id,而laravel 默认的主键的就是

 protected function getUniqueIds($parameters)
 {
 //********看到没他的如果没给定主键的话,他就是id了。而我没有id字段
     $idColumn = isset($parameters[3]) ? $parameters[3] : 'id';

     return [$idColumn, $parameters[2]];
 }

所以我们得改一下代码加上自定义字段

'email' => 'email|unique:user,email,'.\Auth::user()->id.',_id',

这样就大功告成了!!!再次感谢

你的意图,会潜在的导致用户在 update 的时候,把 username 、email 等数据清空。

public function rules()
{
    $routename  = \Route::currentRouteName();
    if ($routename === 'xxx.xx') {
        return [
        ];
    } elseif ($routename === 'yyyy.yy') {
    }
}
// 至于 routename 默认值是什么,你在各自方法中打印下看看。
justtest
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
woailuosj
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
woailuosj
修改的评论也不能少于六个字哦!
woailuosj
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!