راکت
6 پاسخ

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

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

این فرم منه

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

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

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

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


ثبت پرسش جدید
فرشید مرادی
فرشید مرادی
تخصص :noob
@eniack5 سال پیشمطرح شد
0

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

@php
echo old('message')
@endphp

رضا جهانگیر
رضا جهانگیر
تخصص :Full-Stack Developer
@rezajahangir5 سال پیشمطرح شد
-1

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

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

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


سعید محمدی
سعید محمدی
@saeiidm5 سال پیشمطرح شد
0

سلام @rezajahangir

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


سعید محمدی
سعید محمدی
@saeiidm5 سال پیشمطرح شد
0

سلام @eniack

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


سبحان مولایی
سبحان مولایی
تخصص : برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
@websaz5 سال پیشمطرح شد
0

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

<meta charset="UTF-8">

VaHiD
VaHiD
تخصص :برنامه نویس #لاراول
@ATTOM5 سال پیشمطرح شد
2

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

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

مثال:

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

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

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