我在编辑用户时遇到验证问题。因此,当我编辑我收到消息,该名称已被采取。我怎样才能解决这个问题?因为该名称属于该用户。所以我需要再次更改名称,以便我可以编辑我的用户。
if($user->business_user){
$this->validate($request,[
'company_name' => 'required|unique:business_users'
]);
}
我的观点:
<div class="col-md-6 col-sm-6 col-xs-12">
<div class="form-group" v-bind:class="{ 'has-error': basic_errors.company_name }">
<label class="form_title">COMPANY NAME</label>
<input type="text" name="company_name" v-model="basic_credentials.company_name" value="{{ is_value_empty($user->business_user->company_name) }}" class="form_input">
<span class="help-block" id="helpBlock2" v-show="basic_errors.company_name">@{{ basic_errors.company_name }}</span>
</div>
</div>
答案 0 :(得分:2)
有时,您可能希望在唯一检查期间忽略给定的ID。例如,考虑一个&#34;更新配置文件&#34;屏幕,包括用户的姓名,电子邮件地址和位置。当然,您需要验证电子邮件地址是否唯一。但是,如果用户只更改名称字段而不是电子邮件字段,则不希望抛出验证错误,因为用户已经是电子邮件地址的所有者。
为了指示验证者忽略用户的ID,我们将使用Rule类来流畅地定义规则。在此示例中,我们还将验证规则指定为数组,而不是使用|用于划分规则的字符:
Validator::make($data, [
'email' => [
'required',
Rule::unique('users')->ignore($user->id),
],
]);
答案 1 :(得分:2)
您可以查看validation
if($user->business_user){
$this->validate($request,[
'company_name' => 'required|unique:business_users,'.$user->id
]);
}