nazanin 1 گزارش دادن ارسال شده در بهمن 98 $messages=[ 'name.required'=>'عنوان فیلد را وارد نمایید.', 'slug.unique'=>'فیلدنام مستعار تکراری است', 'slug.requierd'=>' فیلدنام مستعاراجباری است ', ]; $validatedData=$request->validate([ 'slug'=>'required|unique:categories', 'name'=>'required' ],$messages); $category->name=$request->name; $category->slug=$request->slug; try{ $category->update(); }catch(Exception $exeption){ switch ($exeption->getcode()){} return redirect()->back()->with($exeption->getcode()); } $msg='تغییرات با موفقیت انجام شد'; return redirect(route('admin.category'))->with('success',$msg); سلام من اطلاعات بالا را برای ویرایش فایل وارد میکنم و ویرایش هم درست کار میکنه اما سوالم این است که اگر نخواهیم خطای تکراری بودن نام مستعار را داشته باشیم چکار .کنم.. یعنی چنانچه کاربر نخواهد نام مستعار را تغییر بدهد با خطای تکراری بودن مواجه میشود. و برداشتن عبارت uniqeهم باعث میشود کاربر نامی تکراری وارد نماید. تشکر نقل قول Share this post Link to post Share on other sites
ابوالفضل طالبی 441 گزارش دادن ارسال شده در بهمن 98 باید rule تعریف کنید بالای مدل Category این کلاس رو use کنید: use Illuminate\Validation\Rule; حالا تو Validator خودتون اینطوری تغییرات بدید: $validatedData=$request->validate([ 'slug'=>['required',Rule::unique('categories','slug')->ignore($category->slug)], 'name'=>'required' ],$messages); نقل قول Share this post Link to post Share on other sites
nazanin 1 گزارش دادن ارسال شده در بهمن 98 طبق کد بالا عمل کردم اما نتیجه نمیده... وقتی میخوام فیلد نام مستعار تغییر نکنه خطای تکراری بودن میده نقل قول Share this post Link to post Share on other sites
nazanin 1 گزارش دادن ارسال شده در بهمن 98 با این کد به نتیجه رسیدم 'slug'=>'required|unique:categories,slug,'.$category->slug.',slug', 1 نقل قول Share this post Link to post Share on other sites
mehdi.pirozfar@gmail.com 1 گزارش دادن ارسال شده در آذر 99 در در ۱۳۹۸/۱۱/۲۰ در 10:05، ابوالفضل طالبی گفته است : باید rule تعریف کنید بالای مدل Category این کلاس رو use کنید: use Illuminate\Validation\Rule; حالا تو Validator خودتون اینطوری تغییرات بدید: $validatedData=$request->validate([ 'slug'=>['required',Rule::unique('categories','slug')->ignore($category->slug)], 'name'=>'required' ],$messages); در قسمت ignore باید ای دی اون دسته بندی نوشته شود وگرنه کد به درستی کار نمی کند: (ignore($category->id نقل قول Share this post Link to post Share on other sites