【发布时间】:2021-10-23 01:59:47
【问题描述】:
我卡在表单验证中显示一条消息。
这是我的代码:
class InputController extends Controller
{
public static function save(Request $request)
{
//Get input values to variables respectively
$First_Name = $request->input('First_Name');
$Last_Name = $request->input('Last_Name');
$Email = $request->input('Email');
$Credit_Card = $request->input('Credit_Card');
$Password = $request->input('Password');
//Rules for each field
$rules = [
'First_Name' => ['required', 'string'],
'Last_Name' => ['required', 'string'],
'Email' => ['required', 'string'],
'Credit_Card' => ['required', 'string'],
'Password' => ['required', 'string']
];
//Validator variable
$valid = Validator::make($request->all(),$rules);
//Insert information into SQL table
$customer = new CustomersTable;
$customer->First_Name = $First_Name;
$customer->Last_Name = $Last_Name;
$customer->Email = $Email;
$customer->Credit_Card = $Credit_Card;
$customer->Password = Hash::make($Password);
$customer->save();
//If validation fails, pop out a message or else view localhost/submit
if ($valid -> failed())
{
dd("Error! Some of the required information are empty");
}
else
{
return view('submit');
}
}
}
在下面:
if ($valid -> failed())
{
dd("Error! Some of the required information are empty");
}
else
{
return view('submit');
}
,当我让表单中的每个字段(First_Name,Last_Name,...)为空并单击按钮发布时,验证应该失败并且页面应该显示
"Error! Some of the required information are empty"
但是却弹出了SQL的错误:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'First_Name' cannot be null
,表示跳转到“else”语句。 谁能帮我解释一下?
【问题讨论】:
-
Displaying The Validation Errors 上的文档有帮助吗?
-
@brombeer 还有其他办法吗?
-
@brombeer 查看链接
-
@sajjad 仍然不适合我。
标签: php laravel validation