私はユーザーアカウントの編集に使用しているフォームを持っています。電子メールフィールドにいくつかの検証設定があり、電子メールが一意でなければならないと指定しました。問題は、電子メールに固有の火災を要求する検証ルールであるフォームを送信するときです。私はフォームを編集しており、メールが存在することを知っているので、そうではないはずです。Laravelのユニークな:編集中にユーザー、電子メールの妥当性検査エラーが表示される
私は独自のルールを削除し、とてもtehのアカウントを編集して、ユーザーが既存の電子メールに入る発生した場合これは、コード
public function servicesAdminEditUser(){
$id = request('hidden_user_id');
$rules = array(
'users_telephone_number' => 'required|unique:users,users_telephone_number',
'users_email' => 'required|email|unique:users,email',
'users_full_names' => 'required',
'users_gender' => 'required',
'users_credits' => 'required',
'users_email_verification_status' => 'required',
'users_number_verification_status' => 'required',
'users_moderation_status' => 'required',
'user_role' => 'required',
'users_profile_picture' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
);
$customMessages = [
'users_telephone_number.required' => 'The telephone number is required.',
'users_email.required' => 'We need a unique email',
'users_full_names.required' => 'Your full names are required',
'users_gender.required' => 'Gender is required',
'users_profile_picture.required' => 'We need your profile picture',
'users_credits.required' => 'User Credits Are Required',
'users_email_verification_status.required' => 'User email verification status is required',
'users_number_verification_status.required' => 'User number verification status is required',
'users_moderation_status.required' => 'User moderation status is required',
'user_role.required' => 'User role is required',
];
$validator = Validator::make(Input::all(), $rules,$customMessages);
if ($validator->fails()) {
$messages = $validator->messages();
return Redirect::back()->withErrors($validator);
}
else {
if (Input::file('users_profile_picture')->isValid()) {
$destinationPath = 'uploads';
$extension = Input::file('users_profile_picture')->getClientOriginalExtension();
$fileName = time().'_'.rand(11111,99999).'.'.$extension;
Input::file('users_profile_picture')->move($destinationPath, $fileName);
}
else {
echo 'file not valid';
}
$updyt = User::find($id);
$updyt->email = request('users_email');
//$reg->password = bcrypt(request('confirm-password'));
$updyt->users_telephone_number = request('users_telephone_number');
$updyt->users_email_verification_status = request('users_email_verification_status');
$updyt->users_number_verification_status = request('users_number_verification_status');
$updyt->users_full_names = request('users_full_names');
$updyt->users_gender = request('users_gender');
$updyt->users_credits = request('users_credits');
$updyt->users_profile_picture = $fileName;
$updyt->users_moderation_status = request('users_moderation_status');;
$updyt->update();
//$reg->attachRole($value);
DB::table('role_user')->where('user_id',$id)->delete();
$updyt->attachRole(Role::where('name',request('user_role'))->first());
return redirect('servicesUsers');
}
}
で、laravelは、ブラウザ上の重複をキャッチmysqlのエラーが表示されます。どうすればこの問題を解決できますか?
これは問題を解決しましたが、画像の場合、これは編集コード ''しかし、提出後、私は画像が必要であるというエラーを受け取ります。ファイル内の値は十分ではありませんか? –
@GeoffreyIsle 'id =" users_profile_picture "' –
を追加しようとしましたが、問題はなくなりました。 –