راکت

باگ blade لاراول و اخطار مربوط به فیلد متن از طریق old

6 پاسخ

سلام
یه فرم تماس با ما دارم مثلا وقتی ایمیل رو پر نمیکنم و بقیه فیلد هارو پر کردم وقتی لاراول اخطار برمی گردونه و چون از old() استفاده کردم
در فیلد textarea وقتی پیغامی که قبلا بصورت خط جدید ارسال کردم موقع برگشت خطوط رو حذف میکنه و تمام کلمات به هم چسبیده میشن دلیلش چیه؟

این فرم منه

<textarea name="message">{{ old('message') }}</textarea>

مثلا اینجوری پر میشه:
سلام
این یک متن آزمایشی هست
خدانگهدار

و اینجوری برگشت داده میشه :
سلاماین یک متن آزمایشی هستخدانگهدار

@hesammousavi
@websaz
@mohaligateway
@samanzdev
@rezajahangir
@ajdar۹۶۶۷
@juza۶۶
@mrn

ثبت پرسش جدید

پاسخ‌ها

6
فرشید مرادی
فرشید مرادی
@eniack

تخصص: noob

سلام وقت بخیر ، مشکل از کروشه هاس چون وقتی ما یک رشته رو داخل اینها قرار میدیم اون رو بعنوان یک رشته برمیگردونه و تابع htmlspecialchar رو اجرا میکنه...
اینو تست کنید

@php
echo old('message')
@endphp
رضا جهانگیر
رضا جهانگیر
@rezajahangir

تخصص: Full-Stack Developer

سلام.
باید داخل مدل مربوطه متد زیر رو تعریف کنید.
فرض کنید من یه جدول دارم به نام comments، حالا باید داخل مدل Comment متد زیر رو اضافه کنم.

public function setCommentAttribute($value) {
    $this->attributes['comment'] = str_replace(PHP_EOL , "<br>" , $value);
}

شما با توجه به جدولی که دارید این متد رو تعریف کن.
موفق باشید.

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

سعید محمدی
سعید محمدی
@saeiidm

سلام @rezajahangir

ممنون از پاسخ تون ولی من مدلی ندارم که بخوام این کارو کنم اطلاعات تماس با ما قرار مستقیما پس از دریافت در کنترلر ایمیل بشه
وحتی اگه مدلی هم داشتم این روش اصلا مناسب مشکلی که من گفتم نیست چون نمیخام هیچ کاراکتر html مثل تگ <br> در متنم باشه مشکل فقط اینه که new line رو حفظ نمیکنه

سعید محمدی
سعید محمدی
@saeiidm

سلام @eniack

ممنون از پاسخ شما ولی این مورد هم قبلا تست کرده بودم ولی بازم کار نمی کرد و خطوط به هم میچسبند 🙏

سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

سلام به احتمال بالا به دلیل utf 8 هست مطمئن بشید این کد در اول سند و در header html وجود داره منظورم مستر blade شما هست

<meta charset="UTF-8">
VaHiD
VaHiD
@ATTOM

تخصص: برنامه نویس #لاراول

سلام خسته نباشی🌹

از **nl2b** استفاده کنید احتمالا حل بشه*

مثال:

{!! nl2br(old('message')) !!}

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

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