سلام وقت بخیر
من دو تا روت دارم به اسم registerform و روت اصلی ثبت نام که register هست
تو روت مربوط به registerform اعتبار سنجی با کد ملی انجام میشه و بعد ریدایرکت میشه به روت register
تا اینجا به درستی کار میکنه
مشکل که نتونستم حل کنم اینه اگه به صورت دستی تو مرورگر تایپ کنم register قبل از احراز هویت نمایش میده
ولی نباید این اتفاق بیفته
نتونستم این مورد حل کنم
این قسمت اومدم از سشن استفاده کنم ولی موفق نشدم
لطفا راهنمایی کنید
چیکار کنم قبل از اینکه اعتبار سنجی انجام نشد روت register نمایش نده
public function registerform(Request $request)
{
$validData = $request->validate([
'codemeli' => ['required', new Nationalcode],
'g-recaptcha-response' => ['required' , new Recaptcha]
]);
if($validData){
return redirect(route('register'));
}
else
{
return redirect('registerform');
}
}
سلام شما می توانید یک میدلویر ایجاد کنید بعد چک کنید ( یا در سشن ها یا به صورت درخواست post ) بعد با توجه به وجود داشتن یا نداشتن ان ریدایرکت کنید.
@wxyz
@websaz
متاسفانه موفق نشدم
دوستان لطفا اگه میتونید کمک کنید
تو کنترلر نمیدونم چی بنویسم اگه کاربر رجیستر زد مستقیم وارد روت رجیستر نشه و ریدایرکت بشه به رجیستر فرم
از یک middleware پیش از register استفاده کنید و یک token برای احراز هویت با کد ملی بسازید و برای مدتی در سشن یا دیتابیس و کوکی ها ذخیره کنید و هنگام ثبت نام ازش استفاده کنید!
البته میتونید در مراحل ثبت نام قسمت تایید کدملی رو قرار بدید که در یک route و controller باشه و این مشکل پیش نیاد
ولی نیاز به یکم مهارت تو بخش فرانت داره
امیدوارم متوجه شده باشید!
@none
برای مبحث دوم فرمودید تو یک روت باشه
ابتدا میخواستم به همین صورت انجام بدم
ولی نمیدونستم چیکار کنم
نیاز به جاوااسکریپ داره درسته؟ که ابتدا فرم اول نمایش بده و بد فرم دوم
مورد اول هم میدلور نمیدونم به چه صورت بنویسم
با استفاده از ajax پیاده سازی کنید
ابتدا فرم اول رو نشون بده و بعد از اینکه فرم اول تایید شد فرم دوم نماش داده بشه و برای امنیت و اعتبار سنجی فرم دوم در بخش فرم اول باز token ی ایجاد کنید که در فرم دوم استفاده کنید تا نشه دورش زد!
برای ساخت این فرم سه راه دارید
@none
ajax کار نکردم نمیتونم پیاده سازی کنم در حال حاظر
ممنون از توضیحاتتون
همون روش اول میخام انجام بدم
من تو کنترلر به این شکل نوشتم و چند شکل دیگه نوشتم که اشتباه هست
$request->session()->flash('register' , [
'registerform' => $request->has('registerform')
]);
return redirect(route('registerform'));
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟