خانه » ثبت فرم با ajax در لاراول به همراه Validation
ثبت فرم با ajax در لاراول به همراه Validation
ثبت فرم با ajax در لاراول به همراه Validation
آموزش PHP & MySQL Ajax

ثبت فرم با ajax در لاراول به همراه Validation

در این پست میخوام ثبت فرم با ajax در لاراول به همراه Validation 5.6 رو توضیح بدم خدمتتون. در لاراول این کار رو به راحتی می‌شه انجامش داد.

فرض بگیریم می‌خوایم یه صفحه برای تماس با ما بسازیم:

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

بعد از این کار فایل views رو می‌سازیم. من یک فایل به اسم contact.blade.php در پوشه‌ی forms در views ساختم.

داخل تگ head این متا تگ رو وارد کنید:

حالا کد فرم رو توی صفحه وارد کنید:

خط اول برای نمایش خطا‌ها هستش و خط ۳ هم برای امنیت فرممون.

حالا کد‌های jquery رو وارد می‌کنم. فرضم بر این هستش که می‌دونید این‌ها باید بعد از صدا زده شدن خود فایل اصلی jquery صدا زده بشه.

خب حالا میریم Route هامون رو بنویسیم. فایل web.php از پوشه‌ی routes رو باز کنید و این موارد را داخلش قرار بدید:

حالا فایل ContactController.php رو از پوشه‌ی app/Http/Controllers باز کنید.

داخل کلاس برای show این کد رو قرار میدیم که صفحه ما لود بشه:

برای گرفتن اطلاعات هم این دستورات رو قرار می‌دیم:

خب حالا یه مشکل داریم. حتی اگه از زبان فارسی هم استفاده کنید، یه خورده زشت میشه اررورهای فرم.

برای همین من اومدم یه تابع دیگه به این کلاس اضافه کردم به این صورت:

حالا کد store رو به این صورا تغییر دادم:

اینجوری پیغام‌هام رو هم می‌تونم کنترل کنم.

اگه سوالی داشتید در خدمتم.

۴ نظر

برای ارسال نظر اینجا را کلیک کنید

  • سلام خسته نباشید میشه این قسمت رومیشه لطف کنیدتوضیح بدین من متوجه نشدم این کدهای jquery رو دقیقا کجا وارد کنم؟منظور از فایل اصلی jqueryچیه؟حالا کد‌های jquery رو وارد می‌کنم. فرضم بر این هستش که می‌دونید این‌ها باید بعد از صدا زده شدن خود فایل اصلی jquery صدا زده بشه.

    با تشکرازشما

    • با سلام
      به طور مثال شما یه فایل layout.blade.php دارید که اون رو توی بقیه فایل‌های قالب extend می‌کنید.
      این تکه کد jquery رو باید داخل اون بزارین، در پایین جایی که خود کتابخانه jquery رو صدا زدید.

  • سلام
    من در یک فرم میخواستم بعد از پر شدن دو فیلد، محاسبه ای انجام بدم و نتیجه رو در یک لیبل روی فرم نشون بدم، مثلا تعداد یک جنس ضرب در قیمت آن، این کا رو با ajax باید انجام بدم؟ میخوام قبل از تکمیل فرم این اتفاق بیافته

    • سلام
      بخشی از اون باید با ajax انجام بشه. شما با می‌تونید داده ی ۲ فرم رو در شرایط مختلف با jQuery بگیرین، بعد با ajax سمت سرور ارسال کنید که فایل php شما پردازش رو انجام بده و مقدار رو مجددا تحویل jQuery (یا JS) بده و اونوقت در یک بخشی از سایت می‌تونید نمایشش بدید.
      در صورتی که بهم بگین دقیقا در چه شرایطی این محاسبه انجام میشه (مثلا زمانی که شروع به تایپ در فیلد سوم کرد یا به محض اینکه داده‌ی در جفت فیلد‌ها وارد شده بود) می‌تونم بیشتر راهنمایی کنم.