Я использую BootstrapDialog, чтобы открыть форму редактирования пользователя. Открывается отлично.
На моей странице списка, когда пользователь нажимает на редактировать Кнопка, он перейдет к контроллеру и получить эту информацию о пользователе, и в конце он покажет диалоговое окно, которое имеет форму и кнопку обновления.
Когда он / она нажимает кнопку обновления, она вызывает функцию обновления своего контроллера и проверяет все поля и возвращается к диалоговому окну, если есть какая-то ошибка. В противном случае закройте диалоговое окно и покажите сообщение об успехе.
У меня вопрос, когда кто-то оставил поле пустым, и оно подтвердилось в контроллере, но оно больше не отображало диалоговое окно. Как я могу показать сообщение об ошибке пользователю в этом диалоговом окне.
Я использую Laravel 5.4.
Кнопка Изменить
<a class="btn btn-xs btn-primary edit_user_"id="edit_user_<?php echo $v->id; ?>"data-title="{{ $v->name }}"href="edit-user/<?php echo $v->id; ?>">
<i class="glyphicon glyphicon-edit" title="Edit" ></i>
Edit
</a>
Js
$('.edit_user_').click(function(e){
e.preventDefault();
var url = $(this).attr('href');
BootstrapDialog.show({
title: $(this).attr('data-title') +"'s "+ 'Information',
message: $('<div></div>').load(url),
closable: true,
closeByBackdrop: false,
closeByKeyboard: false,
draggable: true,
buttons: [{
icon: 'glyphicon glyphicon glyphicon-save',
label: 'Update',
action: function(dialogRef) {
$('form').submit();
},
cssClass: 'btn-primary'
}]
});
return false;
});
контроллер
public function updateSelectedUser(Request $request){
$id = $request->input('hId');
$oldImage = $request->input('oldImage');
$validator = $this->validate($request, [
'email' => 'required|email|unique:users,email,'.$id,
'name' => 'required|min:5',
'userimage' => 'required|image'
]);
//$path = Storage::putFile('userimages',$request['userimage']);
if ($validator->fails()) {
return Redirect::back()->with(array('error_code'=>1, 'uId'=>$id));
} else {
echo 'Validation Done';
}
}
И мой шаблон edit.blade.php
<div class='row'>
<div class='col-md-12'>
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Edit User</h3>
</div>
<!-- form start -->
<form class="" role="form" method="post" enctype="multipart/form-data" files="true" action="<?php echo asset('regUser/update');?>" >
{{ csrf_field() }}
<input type="hidden" name="hId" value="{{ $info->id }}">
<div class="box-body">
<!-- Name -->
<div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" >Name</label>
<input id="name" type="text" class="form-control" name="name" value="{{ old('name', $info->name)}}" placeholder="Your Name" required >
@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
<!-- Email -->
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
<label for="email" >Email</label>
<input id="email" type="text" class="form-control" name="email" value="{{ old('email', $info->email)}}" placeholder="Your Email" required >
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<!-- Profile Pic-->
<div class="row">
<div class='col-md-6'>
<div class="form-group">
<label for="userimage" >Image</label>
<input id="userimage" type="file" name="userimage" required>
@if ($errors->has('userimage'))
<span class="help-block">
<strong>{{ $errors->first('userimage') }}</strong>
</span>
@endif
</div>
</div>
<div class='col-md-6'>
<div class="form-group">
<label for="userimage" >Old Image</label>
<img class="img-circle" src="{{asset('public/storage/'. $info->userimage )}}" alt="" style="height:50px;"/>
<input type="hidden" name="oldImage" value="{{ $info->userimage }}">
</div>
</div>
</div>
</div>
<!-- /.box-body -->
{!! Form::close() !!}
</div>
</div><!-- /.col -->
</div><!-- /.row -->
Задача ещё не решена.
Других решений пока нет …