我有一个方法“ displayRegistrationPage()”来显示会议注册页面。在此方法中,返回变量$ countries,该变量返回包含国家/地区的数组,每个国家/地区在数组中的显示方式如下:“ DE” =>“德国”。
public function displayRegistrationPage(Request $request, $id, $slug = null)
{
$conference = Conference::find($id);
$selectedRtypes = Session::get('selectedRtypes');
$total = Session::get('total');
$countries = Facades\Countries::all();
return view('conferences.registration',
['selectedRtypes' => $selectedRtypes, 'total' => $total, 'id' => $id,
'slug' => $slug, 'countries' => $countries, 'conference' => $conference]);
}
然后在注册页面上,我有一个表格,用户需要介绍他的增值税号和他的国家,所以我在下面有此表格字段。但是,如果用户已经在用户表中存储了增值税和国家/地区,则我想默认显示这些值,因此用户无需引入该值。但是用户可能想要引入其他值。
<div class="form-group">
<label for="vat" class="text-gray">Vat number</label>
<input type="text" name="vat" class="form-control" value="{{ (Auth::user()->VAT) ? Auth::user()->VAT : old('vat')}}">
</div>
<div class="form-group">
<label for="country" class="text-gray">Country</label>
<select class="form-control" name="country" id="country">
@if(Auth::user()->country)
<option selected="selected">{{Auth::user()->country}}</option>
@endif
@foreach($countries as $key => $country)
<option value="{{$country}}"
@if(Auth::user()->country == $country) selected="selected" @endif>{{ $country}}</option>
@endforeach
</select>
</div>
您知道如何正确实现吗?在上方的选择菜单中,出现了存储在用户表中的国家。但是有一个问题,因为它是获取密钥所必需的(例如:“ DE”而不是“ Germany”)。但是,使用上述代码在storeRegistration()中存储注册信息后,$ request-> all(会显示“德国”,例如"country" => "Germany"
,
不是“ DE”。并且在storeRegistration()中,对于使用国家/地区而不是值的国家/地区来验证增值税很有必要。
在storeRegistration()中验证增值税
$rules['vat'] = [
function ($attr, $value, $fail) use ($request) {
if (!VatValidator::validateFormat($request->country . $request->vat)) {
$fail('Please insert a valid VAT.');
}
}];
答案 0 :(得分:0)
将{{$ country}}更改为{{$ key}}
def singup(request):
...
return redirect(redirect_to_url)