راکت
حل شده

تغییر دادن validated data بعد از validate شدن

3 پاسخ

سلام من میخوام بدونم بعد از دیتایی validated شد میتونم اون دیتا رو تغییر بدم
اگه بخوام مثال بزنم اینجوری
controller

    public function store(CreateUserValidation $validation)
    {
        User::create($validation->validated());
        alert()->toast('کاربر با موفقیت ساخته شد' ,'success') ;
        return back() ;
    }

Validation

class CreateUserValidation extends FormRequest
{

    public function authorize()
    {
        return auth()->user()->can('access-users');
    }

    public function rules()
    {
        return [
            'name' => 'required|min:3' ,
            'phone' => [ 'required','regex:^(\+98|0)?9\d{9}$^','unique:users'] ,
            'password' => [ 'required','min:8'] ,
        ];
    }

}

همینطور که میدونین رمز عبور کاربر باید hash بشه این کد هش کردن رو من میتونم ببرم توی controller ولی نمیخوام ببرم که کنترلر رو شلوغ نکنم

bad controller

 public function store(CreateUserValidation $validation)
    {
        $validatedData = $validation->validated() ;
        $validatedData['password'] = Hash::make($validatedData['password']) ;

        User::create($validatedData);
        alert()->toast('کاربر با موفقیت ساخته شد' ,'success') ;
        return back() ;
    }

هیچ hook ای نداره laravelValidation که من بتونم بعد از validate شدن دیتا تغییرش بدم و آمادش کنم برای ذخیره اطلاعات !؟
@milad
@mhyeganeh
@hesammousavi
@ali.bayat
@khanzadimahdi

ثبت پرسش جدید

پاسخ‌ها

3
Mohammad reza Golshahi
Mohammad reza Golshahi
@golshahimohammadreza

تخصص: Go - Python

بهترین پاسخ

هنگامی که میخوای ستون پسورد عملیات ویرایش یا افزودن انجام بشه وارد این تابع میشه و میتونی روش تغییرات انجام بدی

Mohammad reza Golshahi
Mohammad reza Golshahi
@golshahimohammadreza

تخصص: Go - Python

با سلام دوست عزیز
@h.j432

این کدو تو مدلت قرار بده :

public function setPasswordAttribute($pass){

$this->attributes['password'] = Hash::make($pass);

}
حسین
حسین
@h.j432

@golshahimohammadreza
ممنون از پاسختون میشه توضیح بدین این متد چ کار میکنه

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام