当验证为假时弹出一个模态



我试图创建一个页面,当你点击添加产品按钮一个模态弹出一个表单得到填写。我要做的是,你已经提交了表单,有错误,然后我想它重定向回来并有模态弹出与错误消息。

我的代码

我的控制器

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">&times;</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

最新更新