پرش به مطلب اصلی

Text Input

کامپوننت x-text-input یک ورودی تک‌خطی پیشرفته برای فرم‌ها است که امکانات متنوعی مانند کنترل طول، پیشنهادها (suggestion)، پیشوند و پسوند، ماسک ورودی، کنترل راست‌چین/چپ‌چین بودن، trim خودکار، پیام راهنما، پیام خطا، کنترل اتوکامپلیت، و ... را ارائه می‌دهد.


ویژگی‌ها

  • پشتیبانی از لیبل و فضای رزرو لیبل
  • تعیین مقدار اولیه (value)
  • تعیین placeholder
  • کنترل اتوکامپلیت (autoComplete)
  • پشتیبانی از پیشوند (prefix) و پسوند (suffix)
  • کنترل حداقل و حداکثر طول (minLength, maxLength)
  • محدودیت تعداد کاراکتر (charLength)
  • کنترل جهت نوشتار (direction: rtl یا ltr)
  • کنترل تراز متن (textAlign: right یا left)
  • اعتبارسنجی با قوانین (rules) یا regex
  • پیشنهادهای ورودی (suggestions)
  • ماسک ورودی (maskExpression)
  • trim خودکار مقدار (trim)
  • فوکوس خودکار (autoFocus)
  • نمایش پیام راهنما هنگام غیرفعال بودن (disabledTooltip)
  • نمایش پیام خطا و پیام‌های سفارشی با استایل‌های مختلف
  • امکان شخصی‌سازی کلاس‌های CSS برای خود و کانتینر
  • پشتیبانی از پیام راهنما (hint)
  • پشتیبانی از slot برای suffix لیبل (label-suffix-slot)
  • غیرفعال یا فقط‌خواندنی بودن ورودی

ورودی‌های کامپوننت

نام پراپنوع دادهمقدار پیش‌فرضتوضیحات
namestringنام فیلد (اجباری)
idstringnullشناسه یکتا برای ورودی
labelstringnullلیبل اصلی
labelSpaceReservedboolfalseآیا فضای لیبل حتی بدون مقدار رزرو شود؟
valuestringnullمقدار اولیه
placeholderstringnullplaceholder برای ورودی
autoCompletestring"off"مقدار autocomplete (مانند "off", "on", "email", ...)
prefixstringnullپیشوند
suffixstringnullپسوند
minLengthstring/intnullحداقل طول مجاز
maxLengthstring/intnullحداکثر طول مجاز
charLengthstring/intnullمحدودیت تعداد کاراکتر (نمایش شمارنده)
directionstring'rtl'جهت نوشتار ورودی (rtl یا ltr)
textAlignstringnullتراز متن ورودی (right یا left)
requiredboolfalseاجباری بودن فیلد
rulesstringnullقوانین اعتبارسنجی (Laravel validation rules)
regexExpressionstringnullregex برای اعتبارسنجی
suggestionsarray[]آرایه‌ای از پیشنهادهای ورودی
maskExpressionstringnullماسک ورودی (مثلاً برای شماره تلفن)
defaultMessagestringnullپیام پیش‌فرض برای نمایش
messageStylestring/enum"message"استایل نمایش پیام (message, tooltip, ...)
defaultMessageTypestring/enum"info"نوع پیام پیش‌فرض (info, error, success, ...)
suppressLogicMessagesboolfalseعدم نمایش پیام‌های منطقی
trimboolfalseحذف فاصله‌های ابتدا و انتهای مقدار
autoFocusboolfalseفوکوس خودکار روی ورودی
containerClassstringnullکلاس CSS سفارشی برای کانتینر
classstringnullکلاس CSS سفارشی برای خود ورودی
hintstringnullپیام راهنما یا توضیح کوتاه
disabledboolfalseغیرفعال بودن ورودی
disabledTooltipstringnullپیام راهنما هنگام غیرفعال بودن ورودی
clearableboolfalseنمایش دکمه پاک کردن مقدار ورودی

گزینه‌های ماسک (maskExpression)

کامپوننت x-text-input از ماسک‌های از پیش تعریف شده برای فرمت‌دهی ورودی‌های رایج پشتیبانی می‌کند. می‌توانید نام ماسک را به عنوان مقدار maskExpression استفاده کنید:

نام ماسکمقدار ماسکفرمت خروجیتوضیحات
nationalCode99999999995354286727کد ملی (۱۰ رقم)
postalCode99999999991234567890کد پستی (۱۰ رقم)
phone999-99999999021-12345678شماره تلفن ثابت
mobile9999999999909123456789شماره موبایل (۱۱ رقم)
bankCard9999-9999-9999-99991234-5678-9012-3456شماره کارت بانکی (۱۶ رقم با خط تیره)
ibanNumberIR999999999999999999999999IR123456789012345678901234شماره شبا (۲۶ رقم با پیشوند IR)
ip999.999.999.999192.168.101.100آدرس IP نسخه ۴
نکته

می‌توانید به جای استفاده از نام ماسک، الگوی ماسک سفارشی خود را نیز به صورت مستقیم وارد کنید. برای مثال می‌توانید از maskExpression="9999-9999" استفاده کنید.


مثال‌ها

نمونه پایه

<x-text-input
label="آی پی"
name="ip"
prefix="ip"
defaultMessage="IPV4"
direction="rtl"
textAlign="right"
rules="num"
regexExpression="^[A-Y]+"
maskExpression="ip"
/>

<x-text-input
label="نام"
name="fname"
value="DFGDG"
placeholder="لطفا نام خود را وارد کنید"
prefix="$"
suffix="SUD"
:suggestions="['Naghi', 'Taghi', 'Karim']"
defaultMessage="لطفا نام خود را وارد نمایید."
minLength="3"
maxLength="6"
charLength="6"
direction="rtl"
textAlign="right"
rules="num"
messageStyle="toast"
regexExpression="^[A-Y]+"
>
<x-slot:label-suffix-slot>
<a href="/">استعلام مجدد</a>
</x-slot:label-suffix-slot>
</x-text-input>