我有以下外部形式:
<form method="POST" action="http://infused.local/leads/post">
<div class="form-group">
<label>first_name</label>
<input type="text" name="first_name" class="form-control">
</div>
<div class="form-group">
<label>last_name</label>
<input type="text" name="last_name" class="form-control">
</div>
<div class="form-group">
<label>email</label>
<input type="text" name="email" class="form-control">
</div>
<div class="form-group">
<label>postal_code</label>
<input type="text" name="postal_code" class="form-control">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
指向以下控制器方法:
public function post()
{
$this->validate(request(), [
'email' => 'required|email',
]);
echo 'hello';
}
通过这条路线:
Route::post('leads/post', 'LeadController@post');
我已禁用表单路由的CSRF
保护。
$this->validate
来电时,我会“你好”。为什么这不起作用?
答案 0 :(得分:0)
显然,如果有错误,validate
方法只会将您重定向回上一页,除非响应预期为JSON。改为使用Validator外观结束。
编辑:感谢您的downvotes。这个网站是癌症。
答案 1 :(得分:0)
您需要返回JSON,并且可以使用helper function:
response()->json([
'message' => 'hello'
]);
然后在你的JS中:
console.log(response.message);