تمام عناصر فرم ها در بوت استرپ استایل دهی شده اند. بنابراین باید بدانید این استایل ها به چه شکل هستند. تمام<input>
های متنی و <textarea>
و عناصر <select>
ای که کلاس form-control.
را داشته باشند عرض 100 درصد می گیرند.
در واقع بوت استرپ دو نوع فرم به شما ارائه می دهد: فرم های inline و فرم های stacked به معنی انباشته (تمام عرض صفحه را می گیرند).
فرم های stacked
مثال زیر یک فرم stacked می سازد که دو عدد input، یک checkbox و یک دکمه ی submit دارد. همچنین برای اطمینان از اینکه margin ها دست نخورند و صفحه به هم نریزد، هر کدام از عوامل فرم ها (input ها، checkbox ها و …) را در یک عنصر نگهدارنده با کلاس form-group.
قرار داده ایم:
فرم های inline
در فرم های inline عوامل فرم روی هم قرار نمی گیرند، بلکه همه از سمت چپ (به طور پیش فرض) چیده می شوند. البته نکته ای بسیار مهم را در ذهن داشته باشید؛ از آن جا که بوت استرپ واکنش گراست، کنار هم قرار گرفتن عوامل فرم به شرطی اجرایی می شود که عرض صفحه از 576px کمتر نشود. اگر عرض صفحه ای کمتر از 576px باشد، تمامی عوامل فرم مانند input ها روی هم قرار خواهند گرفت.
برای ساخت این فرم ها باید کلاس form-inline.
را به عنصر <form>
اضافه کنید؛ به طور مثال در کد زیر دو عدد input، یک checkbox و یک دکمه ی submit داریم:
در خروجی کد بالا با عرض صفحه (قسمت راست که خروجی است) بازی کنید تا رفتار بوت استرپ را مشاهده کنید.
البته اگر به خروجی کد بالا نگاه کنید متوجه خواهید شد که فرم ما به هم چسبیده و فشرده است. اگر از جداکننده های بوت استرپ استفاده کنید، ظاهر فرم بسیار بهتر می شود. به طور مثال کد زیر (قسمت mr-sm-2.
) به هر input از سمت راست margin مشخصی اضافه کرده و قسمت mb-2.
نیز margin پایین را مشخص می کند. دلیل اینکه برای فرم margin پایین قرار می دهیم این است که اگر فرم از قسمتی شکست و بعضی محتویات آن به خط بعدی منتقل شد به عناصر بالای سرش نچسبد. مثال:
اعتبار سنجی فرم ها
شما می توانید از کلاس های اعتبار سنجی مختلفی استفاده کنید تا اشتباهات کاربران در هنگام پر کردن فرم ها را به آن ها متذکر شوید. برای این کار، کلاس was-validated. یا کلاس needs-validation را به عنصر <form>
اضافه کنید؛ یکی از آن ها پس از ثبت فرم آن را اعتبار سنجی می کند و دیگری هنگام ورود داده ها. فرم برای نمایش خطا یا موفق بودن دریافت اطلاعات از حاشیه ی سبز یا قرمز استفاده می کند. همچنین کلاس های valid-feedback. و invalid-feedback. برای (در صورت اضافه شدن) به کاربر واضح و دقیق می گویند که کجای کارشان اشتباه بوده است و کدام قسمت نیاز به تصحیح دارد.
مثال زیر با استفاده از was-validated.
نوشته شده است. بنابراین قبل از ثبت فرم اشتباهات کاربر را به او متذکر می شود:
مثال زیر با استفاده از needs-validation.
نوشته شده است. بنابراین بعد از ثبت فرم اشتباهات را به کاربر می گوید:
اگر دقت کرده باشید در مثال بالا کمی کد جی کوئری نیز وجود دارد. بدون این کدهای جی کوئری نمی توانید این مثال را عملی کنید.
منبع: روکسو