【发布时间】:2016-03-05 02:52:24
【问题描述】:
我有一个用户填写并提交的 Web 表单。它在客户端有一个验证,比如
<input type="text" name="fname" required="required"/>
我在后端也有一个验证,比如
$rules = array(
'input_date' => 'required',
'plan_holder' => 'required',
'birth_date' => 'required',
'address' => 'required',
'postcode' => 'required',
'telephone' => 'required',
'funeral_type' => 'required',
'funeral_plan_type' => 'required',
'payment_option' => 'required',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
return Redirect::to('form/create')->withErrors($validator);
}
else
{
// Some code to insert in database
}
如何一些用户报告说,在他们点击提交后,表单将成功提交,有时当我查看数据库时,包括所需字段在内的所有字段都是空白的,但某些字段上有类似的数据。
$form->agent_id = Auth::user()->id;
由于某种原因,我不知道输入数据正在被清除。当我自己测试它时,它可以正常工作。这不是一直发生的。有什么可以调查的吗?
我很困惑,因为我没有输入任何代码或逻辑来清除数据。另外,我已经在客户端和后端进行了两次验证,因此需要一些字段,但有时很奇怪,所有保存的输入字段都被清除为空
【问题讨论】:
-
你是否在 laravel 日志文件 laravel.com/docs/5.1/errors 中遇到任何错误?还要检查开发人员控制台网络选项卡
-
@GaneshGhalame 不。我在日志中没有看到任何与此相关的错误。用户也没有看到任何错误。
-
你的控制器代码被执行了吗?通过在浏览器中添加日志或检查网络选项卡,您可能会遇到验证问题,只需交叉检查一次
-
@GaneshGhalame 是的。控制器得到执行,因为我有一个字段来记录提交表单的登录用户的 ID,并且保存得很好。问题是输入字段突然被清除了。是的,还在检查它。
-
只需在`$validator = Validator::make(Input::all(), $rules);`后面加上
$validator->errors();,如果有错误信息,你会得到
标签: mysql database forms laravel