在控制器中,我们可以使用表单验证器来确保表单数据的正确性。以下是一个使用Laravel框架中的表单验证器的示例,来解决表单没有达到控制器的问题:
首先,在控制器中引入表单验证器的命名空间:
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
然后,在控制器的方法中,使用表单验证器来验证请求的数据:
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required',
'email' => 'required|email',
'password' => 'required|min:6',
]);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
}
// 如果验证通过,继续处理其他逻辑
// ...
}
在上面的示例中,我们使用Validator::make
方法来创建一个验证器实例。在make
方法的第一个参数中,我们传入了请求的所有数据$request->all()
。在第二个参数中,我们定义了每个字段的验证规则,例如required
表示必填字段,email
表示必须是有效的电子邮件地址,min:6
表示密码至少需要6个字符。如果验证失败,我们可以通过withErrors
方法将错误信息返回给视图,并使用withInput
方法将用户输入的数据返回给表单,以便用户不需要重新填写。
最后,如果验证通过,我们可以继续处理其他逻辑。
请注意,上述示例是使用Laravel框架的表单验证器进行解决的,如果你使用的是其他框架或原生PHP,你需要根据自己的情况进行相应的修改。