【发布时间】:2018-05-04 10:28:49
【问题描述】:
考虑手动身份验证。如果在数据库中没有找到订单 ID,我们会将用户重定向到带有输入字段的页面,并出现错误'wrongOrderId':
public function login(Request $request) {
$inputted_orderId = $request->input('order_id');
$orderIdInDB = DB::table(self::SITE_IN_DEVELOPMENT_TABLE_NAME)
->where(self::ORDER_ID_FIELD_NAME, $inputted_orderId)->first();
if (is_null($orderIdInDB)) {
return Redirect::route('loginToSitesInDevelopmentZonePage')->withErrors('wrongOrderId');
}
}
在这个例子中,我们不需要传递错误消息:消息框已经存在于View中;我们只需要在用户被重定向错误'wrongOrderId'时显示此消息框:
@if (!empty($errors->first('wrongOrderId')))
<div class="signInForm-errorMessagebox" id="invalidID-errorMessage">
<!-- ... -->
</div>
@endif
以上所有代码都可以正常工作,没有 laravel/php 错误;当输入错误的订单号时,我进入is_null($orderIdInDB) if-block,但是没有出现错误消息框。我尝试了很多方法,(!empty($errors->first('wrongOrderId'))) 只是最后一种。我做错了什么?
【问题讨论】:
标签: php laravel validation