Laravel 成功提交后不会重置窗体
这是我的控制器:Laravel 成功提交后不会重置窗体,laravel,Laravel,这是我的控制器: class GuestbookController extends Controller { public function viewAll(Request $request) { if ($request->method() === 'POST') { $this->validate($request, [ 'username' => 'required|string|r
class GuestbookController extends Controller
{
public function viewAll(Request $request)
{
if ($request->method() === 'POST') {
$this->validate($request, [
'username' => 'required|string|regex:/^[a-zA-Z\d]+$/',
'email' => 'required|string|email',
'homepage' => 'nullable|string|url',
'text' => 'string',
'captcha' => 'required|captcha',
],
[
'captcha.captcha' => 'The captcha is incorrect',
'username.regex' => 'Use English letters and digits only',
]);
$message = new Message();
$message->username = $request->get('username');
$message->email = $request->get('email');
$message->homepage = $request->get('homepage');
$message->text = strip_tags($request->get('text'));
$message->ip = $request->ip();
$message->browser = get_browser($request->header('User-Agent'))->browser;
$message->save();
}
$messages = Message::sortable(['created_at' => 'desc'])->paginate(25);
return view('Guestbook.viewAll', [
'newMessage' => new Message(),
'messages' => $messages
]);
}
}
我正在用这个。viewAll处理GET和POST请求,但问题是,当我成功提交保留所有以前输入值的数据时,表单不会重置
我已经检查了服务器发送的内容,它似乎发送了带有最后一个值的输入。我不知道该怎么办,请帮帮我
视图:
查看所有代码。BootForm是这样编译的
<div class="form-group">
<label for="username" class="control-label col-md-2">Username</label>
<div class="col-md-10">
<input type="text" value={{old('username')}} name="username" class="form-control">
</div>
旧的“params”是一个helper方法,它将以前的输入保存在会话中。其次,你有一个与之相关的模型
我希望这有帮助谢谢你的回答!你对如何防止这种行为有什么想法吗?我已经研究了FormBuilder的getValueAttribute方法是如何工作的,它似乎打算使用来自请求的值,然后是作为参数传递的值,然后是模型的值(如果模型普遍存在)。
<div class="form-group">
<label for="username" class="control-label col-md-2">Username</label>
<div class="col-md-10">
<input type="text" value={{old('username')}} name="username" class="form-control">
</div>