请求中的Laravel唯一手机号码



我在请求功能中编辑移动员工时遇到问题,我的页面上没有员工id,我使用相同的页面编辑移动员工(导航选项卡(和(选项卡窗格(在我看来,下方的Html代码

<li class="nav-item">
<a @click="getContant($event)" class="nav-link" data-toggle="tab" href="#EditStaff" 
id="Donuts_section_HTML" style="border-radius: 0;">
<div class="store-report">
{{ __('messages.edit staff') }}
</div>
</a>
</li>
<div id="EditStaff" class="container tab-pane fade pl-0 pr-0"><br>
<div class="col-md-12">
<form method="POST" action="{{ action('AdminStaffController@editStaffDone') }}" 
enctype="multipart/form-data" onsubmit="{{-- return validform() --}}">
@csrf     
<div class="form-group">
<div class="form-row">
<div class="col-md-6">
<select name="EditStaffSelect" id="EditStaffSelect" class="form-control placeholder 
radiusb arabic-family">
<option value="0">{{ __('messages.Select Staff') }}</option>
@if($staff != "Empty Staff")
@foreach ($staff as $item)
<option value="{{ $item->id}}">{{$item->name}}</option>
@endforeach
@else
<option value='0'> __('messages.Empty Staff')</option>
@endif
</select>
</div>
<div style="width: fit-content;">
@error('EditStaffSelect')
<small id="nameHelp" class="form-text text-danger text-left pt-3"><img src="{{ 
url('/images/warning.png') }}"> <strong>{{ $message }}</strong></small>
@enderror
</div>
</div>
</div>
<div class="form-group">
<div class="form-row">
<label for="EditstaffMobileNumber" class="col-md-2 col-form-label text-md-left font-weight- 
normal">{{ __('messages.Mobile Number') }}</label>
<div class="col-md-4">
<input type="text" name="EditstaffMobileNumber" id="EditstaffMobileNumber" class="form-control placeholder" value="{{ old('staffMobileNumber') }}" onpaste="return false" placeholder="{{ __('messages.Mobile Number') }}">
</div>
<div style="width: fit-content;">
@error('EditstaffMobileNumber')
<small id="nameHelp" class="form-text text-danger text-left pt-3"><img src="{{ 
url('/images/warning.png') }}"> <strong>{{ $message }}</strong></small>
@enderror
</div>
</div>
</div>
<div class="form-row">
<button type="submit" id="submit_AddStaff" class="btn btn-dark btn-sm radius mt-2 shadow">{{ 
__('messages.Submit')}}</button>
<a href="{{ url()->previous() }}" class="btn btn-danger btn-sm ml-1 mt-2 radius shadow">{{ 
__('messages.back') }}</a>
</div>
</div>
</form>
@if(Session::has('success_insert'))
<div class="col-md-5 alert alert-success alert-dismissible font-weight-bold text-left mt-2 ml-0 
radius text-capitalize" role="alert">
{{ Session::get('success_insert') }}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
@endif
</div>
</div>
public function editStaff(Request $request)
{
$staff_id = $request->get('staff_id');
$purpose = $request->get('purpose');
$staffNumber = Staff::where('id', '=', $staff_id)->pluck('mobile')->first();
return $staffNumber;
}
public function editStaffDone(EditStaff $request)
{
Staff::where('id', '=', $request->EditStaffSelect)->update([
'mobile' => $request->EditstaffMobileNumber,
]);
return redirect()->back()->with(['success_insert' => __('messages.success update')]);
}

如果页面上没有staff_id,如何添加唯一的手机号码?如果我在规则部分添加unique:Staffs,mobile,,我会得到ann错误。如果我保存帖子,如果我不更改手机号码。

将当前mobile number传递给规则,以便Laravel可以忽略与当前手机号码的比较,如下所示:

unique:Staffs,mobile,' . $request->mobile;

阅读更多相关信息:https://laravel.com/docs/8.x/validation,请阅读Forcing A Unique Rule To Ignore A Given ID部分。

最新更新