鍍金池/ 問答/PHP  數(shù)據(jù)庫(kù)  HTML/ 關(guān)于 laravel5.4 表單驗(yàn)證類分場(chǎng)景驗(yàn)證的問題

關(guān)于 laravel5.4 表單驗(yàn)證類分場(chǎng)景驗(yàn)證的問題

剛開始使用laravel框架開發(fā),還是小白~好多都還不是很懂,目前要做一個(gè)功能,自定義了一個(gè)表單驗(yàn)證類文件~~比如我現(xiàn)在的是會(huì)員模塊的,我這個(gè)會(huì)員控制器可以有很多個(gè)方法要用到這個(gè)會(huì)員表單驗(yàn)證類的驗(yàn)證文件,我想問下這個(gè)表單驗(yàn)證類的有沒有可以分場(chǎng)景來驗(yàn)證的呢?就類似TP框架那個(gè)在模型里可以分這個(gè)字段我做添加的時(shí)候才驗(yàn)證,那個(gè)字段我做編輯功能的時(shí)候我才做驗(yàn)證。。。這樣的場(chǎng)景?
clipboard.png

回答
編輯回答
近義詞

laravel 里面默認(rèn)沒有場(chǎng)景的概念,你可以使用不同的Request來模擬場(chǎng)景,達(dá)到你的需求

2018年5月6日 20:24
編輯回答
孤星

實(shí)現(xiàn)不同的場(chǎng)景,應(yīng)該是走不同的路由,給每個(gè)路由定義一個(gè)別名,然后在Request驗(yàn)證類中,用Route::currentRouteName()來獲取當(dāng)前路由別名,根據(jù)路由別名的不同實(shí)現(xiàn)不同的驗(yàn)證邏輯,這是我經(jīng)常用的方法。另外還有一個(gè)方法,如果你用的是Restful api,可以根據(jù)請(qǐng)求方式的不同來判斷驗(yàn)證邏輯,一般創(chuàng)建走POST,更新走PUT或者PATCH。我想應(yīng)該還有其他一些方式可以實(shí)現(xiàn)你的想法,laravel是個(gè)很強(qiáng)大的框架,相信它能為你實(shí)現(xiàn)你所需要的絕大部分需求,只要你愿意去慢慢了解它

2017年9月15日 16:24
編輯回答
墨小羽

簡(jiǎn)單的實(shí)現(xiàn)就是,你可以把required改成required_if,然后自己定義一個(gè)標(biāo)志來區(qū)分場(chǎng)景。

資源路由(RESTful)可以參考:
https://laravel-china.org/doc...

2018年5月2日 13:53
編輯回答
尋仙

這個(gè)問題解決沒有?驗(yàn)證json中數(shù)據(jù)有效性如何驗(yàn)證

2017年9月1日 01:04