php - 在我的控制器中声明更多数据库时,Laravel 表单验证不起作用
问题描述
我声明了一个包含数据库的变量,以便刀片可以选择,但是这样做时,验证不起作用。请帮我。非常感谢。
this is the variable I call in the database to use select in the blade
.
public function new_department(){
//return view('admin.new-department');
$manage_faculties=DB::table('faculties')->orderBy('id','asc')->get();
$all_manage_faculties=view('admin.new-department')->with('manage_faculties', $manage_faculties);
return view('layouts.master')->with('admin.new-department', $all_manage_faculties);
}
Here is the validation I use in the insert information and database
.
public function save_new_department(Request $request){
$data = [];
$data['department_name'] = $request->input('department_name');
$data['description'] = $request->input('description');
$data['faculty_id'] = $request->input('faculty_name');
if($request->isMethod('post')){
$validator = Validator::make($request->all(), [
'department_name' => 'required|min:3|max:100|unique:departments',
'description' => 'required|max:500',
]);
if ($validator->fails()) {
return back()->with('toast_error', $validator->messages()->all()[0])->withInput();
}
DB::table('departments')->insert($data);
return redirect('/admin/departments/new')->withSuccess('Post Created Successfully!');
}
}
display it in the blade
输入数据后无论真假,都不可能在屏幕上报错。输入数据后无论真假,都不可能在屏幕上报错。
<form class="mt-3"method="post" action="{{ url('admin/department/new-department') }}">
{{csrf_field()}}
<div class="modal-content">
<div class="modal-header bg-primary">
<h5 class="modal-title">Create a Department</h5>
</div>
<!--end of modal head-->
<div class="modal-body">
<div class="form-group row align-items-center" {{ $errors->get('name') ? 'has-error' : '' }}>
<label class="col-2">Department</label>
<input class="form-control col" type="text" placeholder="Department name" name="department_name" required/>
@foreach($errors->get('name') as $error)
<span class="help-block">{{ $error }}</span>
@endforeach
</div>
<div class="form-group row align-items-center">
<label class="col-2">Faculty</label>
<select name="faculty_name" class="form-control col" required>
<option value="" selected>Select a Faculty</option>
@foreach($manage_faculties as $key => $cate_pro)
<option value="{{$cate_pro->id}}">{{$cate_pro->faculty_name}}</option>
@endforeach
</select>
</div>
<div class="form-group row">
<label class="col-2">Description</label>
<textarea class="form-control col" rows="10" placeholder="Write something here..." name="description" required ></textarea>
</div>
</div>
<!--end of modal body-->
<div class="modal-footer">
<button role="button" class="btn btn-primary" type="submit">
Post
</button>
</div>
</div>
</form>
解决方案
推荐阅读
- php - laravel api 包无法识别我之前的路线
- angular-library - 如何在 Angular 库中包含资产?(v 8.0)
- sql-server - 设置超链接时将 int 转换为字符串
- sql - 当 id 值至少一次不等于 0 时返回 id
- sql - 具有默认值性能的设置表
- python - 运行 Jupiter 时遇到问题。由于 EnvironmentError 无法安装软件包:
- regex - 谷歌表格过滤器
- sql-server - 如何删除字符串字段中的空格并插入浮点数据类型?
- mysql - mysql插入带动态查询,只需要在db中一一插入
- python - 如何在 windows10 中创建符号链接,如在 linux 中创建符号链接