W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
現(xiàn)在我們開始在 store
方法中編寫用來驗(yàn)證新的博客文章的邏輯代碼。為此,我們將使用 Illuminate\Http\Request
類提供的 validate
方法。如果驗(yàn)證通過,你的代碼會(huì)繼續(xù)正常運(yùn)行。如果驗(yàn)證失敗,則會(huì)拋出異常,并自動(dòng)將對(duì)應(yīng)的錯(cuò)誤響應(yīng)返回給用戶。 在傳統(tǒng) HTTP 請(qǐng)求下,會(huì)生成一個(gè)重定向響應(yīng), 而對(duì)于 AJAX 請(qǐng)求則會(huì)發(fā)送 JSON 響應(yīng)。
為了深入理解 validate
方法,讓我們接著回到 store
方法中:
/**
* 存儲(chǔ)一篇新的博客文章
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$validatedData = $request->validate([
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
// 博客文章驗(yàn)證通過...
}
如你所見,我們將所需的驗(yàn)證規(guī)則傳遞至 validate
方法中。另外再提醒一次,如果驗(yàn)證失敗,會(huì)自動(dòng)生成一個(gè)對(duì)應(yīng)的響應(yīng)。如果驗(yàn)證通過,那我們的控制器會(huì)繼續(xù)正常運(yùn)行。
或者,驗(yàn)證規(guī)則可以使用數(shù)組而不是單個(gè) |
分隔的字符串:
$validatedData = $request->validate([
'title' => ['required', 'unique:posts', 'max:255'],
'body' => ['required'],
]);
你可以使用 validateWithBag
方法來驗(yàn)證請(qǐng)求,并將所有錯(cuò)誤信息儲(chǔ)存在一個(gè) 命名錯(cuò)誤信息包 中:
$validatedData = $request->validateWithBag('post', [
'title' => ['required', 'unique:posts', 'max:255'],
'body' => ['required'],
]);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: