型号:
protected $validationRules = [
'username' => 'required'
];
protected $validationMessages = [
'username' => [
'required' => 'Please enter a username'
]
];
控制器:
if($this->request->getMethod()== 'post'){
$usermodel = new \App\Models\Users;
$User = $usermodel
->where('username' , $this->request->getPost('username'))
->first();
if(!$User){
print_r($usermodel->errors());
/*return redirect()->to('/login')->with('errors' , $usermodel->errors())->withInput();*/
}
检视:
<?php if(session()->has('errors')): ?>
<div class="alert alert-warning">
<ul>
<?php foreach(session('errors') as $error): ?>
<li><?= $error ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
我知道我已经注解掉了return语句。我在控制器中得到了与print_r()相同的空数组,也得到了“return redirect with view”。
**但是:**如果我在控制器中手动指定闪存消息,则会收到“错误pw”消息:
if(!$UserFromDB){
return redirect()->to('/login')->with('errors' , array('Wrong pw'))->withInput();
/*print_r($usermodel->errors());*/
/*return redirect()->to('/login')->with('errors' , $usermodel->errors())->withInput();*/
}
1条答案
按热度按时间pwuypxnk1#
我不认为我们在模型中使用表单验证,而是在控制器中使用表单验证。