我试图创建一个页面,当你点击添加产品按钮一个模态弹出一个表单得到填写。我要做的是,你已经提交了表单,有错误,然后我想它重定向回来并有模态弹出与错误消息。
我的代码
我的控制器
public function addProduct(Product $product)
{
$validator = Validator::make(request()->all(), [
'title' => 'required'
]);
if($validator->fails())
{
return redirect()->back()->with([
'errors' => $validator->errors()
])
}
}
我的刀片文件
<button type="button" class="btn btn-sm btn-success" data-toggle="modal" data-target="#addProductModal">
<i class="fa fa-plus"></i> Add Product
</button>
@include('admin.product.add-product')
这是模态
<div class="modal fade" id="addProductModal" tabindex="-1" aria-labelledby="addProductModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addProductModalLabel">Add a Product</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form action="{{ route('admin.product.addProduct') }}" method="post">
@csrf
<div class="modal-body">
<div class="form-group">
<label for="name">Name</label>
<input type="text" name="name" class="form-control">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-success">Save changes</button>
</div>
</form>
</div>
</div>
</div>
您可以使用会话来实现。
我使用Form Requests
进行验证,并在我的CreateCategoryRequest
中添加:
public function withValidator($validator)
{
if ($validator->fails()) {
Session::flash('create_category_error', 'Create category validation failed!');
}
}
在叶片:
@if (session('create_category_error'))
<script type="text/javascript">
$('#myModal').modal('show');
</script>
@endif
就是这么简单:p
编码快乐!
你也可以使用这个
<!-- Test if validation failed; hence show modal -->
@if($errors->getBag('default')->first('name') != '')
<script type="text/javascript">
$(document).ready(function(){
$("#addProductModal").modal('show');
});
</script>
@endif