laravel - laravel 如果在控制器中使用验证导致白色空白屏幕
问题描述
我正在对请求中的某些字段进行验证。在我的情况下“标题”,当我在此操作中使用任何验证时,它会给我没有信息的白色空白屏幕,我尝试使用单独的请求验证文件......如果我删除验证一切都会好的!为什么会这样?
(php错误日志和laravel调试已经开启)。
这是dd()
目标控制器动作的结果:
array:9 [▼
"_method" => "POST"
"_token" => "XW8ifwaPFlnA31mqlF3rjLz0iDyAxSpayr6G11WJ"
"hotel_id" => "63"
"lang" => "fa"
"title" => null
"meta" => null
"keywords" => null
"address" => null
"cancelterms" => null
]
这是我的表单操作:
public function addFaLang(Request $request)
{
dd($request->all());
$this->validate(
$request,
['title' => 'required'],
['title.required' => 'please fill this']
);
$hotel_id = $request->get('hotel_id');
$hotel_translates = HotelTranslate::where(['hotel_id' => $hotel_id, 'lang' => 'fa'])->count();
if ($hotel_translates) {
HotelTranslate::where(['hotel_id' => $hotel_id, 'lang' => 'fa'])->delete();
}
if ($request->title) {
$hotel_tra = HotelTranslate::create($request->only( 'hotel_id', 'title', 'meta', 'keywords', 'address', 'cancel_term', 'lang'));
$hotel_tra->save();
}
$result = array('result' => 1, 'idhotel' => $hotel_id, 'message' => 'success');
return view('adminarea.hotel.create-hotel-ar-lang', $result);
}
这是我的表格:
form method="post" action="{{ route('hotel.addfalang') }}">
@method('POST')
@csrf
<input type="hidden" name="hotel_id" value="{{ $lastid }}">
<table class="table table-bordered table-striped">
<div class="progress">
<div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="40" aria-valuemin="0"
aria-valuemax="100" style="width: 40%"></div>
</div>
<tr>
<td>
<label>زبان فارسی
<input type="hidden" name="lang" value="fa">
</label>
</td>
</tr>
<tr>
<td>
<input type="text" name="title" class="form-control {{ $errors->has('title')? 'is-invalid': '' }}" placeholder="نام هتل" style="width: 100%">
@if ($errors->has('title'))
<div class="invalid-feedback">
<strong>{{ $errors->first('title')}}</strong>
</div>
@endif
</td>
</tr>
<tr>
<td>
<input type="text" name="meta" class="form-control" placeholder="متا" style="width: 100%">
</td>
</tr>
<tr>
<td>
<input type="text" name="keywords" class="form-control" placeholder="کلید واژه"
style="width: 100%">
</td>
</tr>
<tr>
<td>
<input type="text" name="address" class="form-control" placeholder="آدرس" style="width: 100%">
</td>
</tr>
<tr>
<td>
<input type="text" name="cancelterms" class="form-control" placeholder="قوانین کنسلی"
style="width: 100%">
</td>
</tr>
<tr>
<td>
<input type='submit' value='مرحله بعد' class='btn btn-success' style="float:left">
</td>
</tr>
</table>
</form>
解决方案
推荐阅读
- gulp - 使用 gulp js 访问手把文件上的 .env 变量
- javascript - Google Chrome 扩展通知声音返回 DOM 错误
- grafana - 如何使用 MySQL 数据库在 Grafana 中显示警报计数(触发的警报总数)?
- mysql - mariadb 版本 10.5.10 中的 mysql 语法
- javafx - JavaFX 国际化在 jar 文件中不起作用
- json - Angular Nx Nrwl - 尝试创建新库时无法解析 tsconfig.base.json:JSON 中的 PropertyNameExpected
- javascript - 浏览器页面不会在反应项目中自动刷新
- youtube-data-api - Youtube API - 获取存档直播的聊天消息?
- azure - 用于将存储帐户复制到虚拟机规模集的自定义脚本扩展
- python - 通过添加行以不同增量进行 Pandas DataFrame 插值