Bw’oba oyagala okuba <input readonly>n’ebintu mu ffoomu yo nga bikoleddwa mu sitayiro ng’ebiwandiiko ebya bulijjo, kozesa .form-control-plaintextekibiina okuggyawo sitayiro y’ennimiro ya foomu eya bulijjo n’okukuuma margin entuufu ne padding.
Ebiyingizibwa mu Range
Teeka ebiyingizibwa mu bbanga eriyinza okutambula mu bbanga ng'okozesa .form-control-range.
Ebibokisi ebikebera ne leediyo
Ebibokisi ebisookerwako ne leediyo bitereezebwa nga biyambibwako .form-check, kiraasi emu ey'ebika byombi eby'okuyingiza erongoosa ensengeka n'enneeyisa y'ebintu byabwe ebya HTML . Ebibokisi ebikebera biba bya kulonda ekintu kimu oba ebiwerako mu lukalala, ate leediyo za kulonda ekintu kimu okuva mu bingi.
Ebibokisi ebikebera ne obutambi bwa leediyo biwagira okukakasa foomu okwesigamiziddwa ku HTML era biwa ebiwandiiko ebimpimpi, ebituukirirwa. Nga bwe kiri, <input>s ne <label>s zaffe elementi za baganda okusinga an <input>munda mu a <label>. Kino kisingako katono verbose nga olina okulaga idne forattributes okukwataganya <input>ne <label>.
Ekisookerwako (ekitumbibwa) .
Nga bwekiba, omuwendo gwonna ogw'ebibokisi ebikebera ne leediyo ezibeera muganda ow'amangu zijja kuteekebwa mu vertikal era nga ziteekeddwa mu bbanga erisaanira ne .form-check.
Mu layini
Gamba ebibokisi ebikebera oba leediyo ku lunyiriri lwe lumu olw'okwebungulula ng'ogatta .form-check-inlineku yonna .form-check.
Ensengeka ezisingako obuzibu nazo zisobola okutondebwawo n’enkola ya grid.
Ekifaananyi eky’okwebungulula
Tonda foomu eziwanvuwa ne giridi ng’ogattako .rowkiraasi okukola ebibinja era ng’okozesa .col-*-*kiraasi okulaga obugazi bw’ebiwandiiko byo n’ebifuga. Kakasa nti oyongera .col-form-labelku <label>s zo nga bwe ziri vertically centered ne form controls zaabwe ezikwatagana.
Oluusi, oyinza okuba nga weetaaga okukozesa margin oba padding utilities okukola alignment eyo entuufu gye weetaaga. Okugeza, tuggyewo ku padding-topku stacked radio inputs label yaffe okusobola okukwataganya obulungi text baseline.
Okugerageranya obunene bw’akabonero ka foomu mu ngeri ey’okwebungulula
Kakasa nti okozesa .col-form-label-smoba .col-form-label-lgeri <label>s oba <legend>s yo okugoberera obulungi obunene bwa .form-control-lgne .form-control-sm.
Okugerageranya obunene bw’empagi
Nga bwe kiragibwa mu byokulabirako ebiyise, enkola yaffe eya gridi ekusobozesa okuteeka omuwendo gwonna ogwa .cols munda mu a .rowoba .form-row. Bajja kugabanya obugazi obuliwo kyenkanyi wakati waabwe. Oyinza n’okulonda ekitundu ekitono eky’ennyiriri zo okutwala ekifo ekiwera oba ekitono, ate .cols ezisigadde ne zigabanya kyenkanyi ebisigadde, nga waliwo ebika by’ennyiriri ebitongole nga .col-7.
Okukola sayizi mu ngeri ey’okwekolako
Ekyokulabirako wansi kikozesa ekintu ekiyitibwa flexbox utility okuteeka ebirimu wakati mu vertikal era ne kikyuka .colokutuuka .col-autoennyiriri zo ne zitwala ekifo ekiwera kyokka nga bwe kyetaagisa. Mu ngeri endala, ennyiriri zeekula okusinziira ku birimu.
Kozesa .form-inlineekibiina okulaga omuddirirwa gw’ebiwandiiko, ebifuga ffoomu, ne buttons ku lunyiriri lumu olw’okwebungulula. Ebifuga foomu munda mu foomu eziri mu layini byawukana katono okuva ku mbeera zaabwe ezisookerwako.
Ebifuga bye bino display: flex, okumenya ekifo kyonna ekyeru ekya HTML era ne kikusobozesa okuwa okufuga okulaganya n’ebikozesebwa mu bbanga n’ebikozesebwa mu flexbox .
Tekinologiya ayamba nga screen readers ajja kuba n’obuzibu ne forms zo singa tossaamu label ku buli input. Ku foomu zino eziri mu layini, osobola okukweka ebiwandiiko ng’okozesa .sr-onlyekibiina. Waliwo enkola endala ez’okuwa akabonero ku tekinologiya ayamba, gamba nga aria-label, aria-labelledbyoba titleekintu. Singa tewali n’emu ku zino ebaawo, tekinologiya ayamba ayinza okuddukira mu kukozesa placeholderekintu ekyo, bwe kiba nga kiriwo, naye weetegereze nti okukozesa placeholderng’ekifo ky’enkola endala ez’okuwandiika obubonero tekiba kirungi.
Ekiwandiiko ekiyamba
Ebiwandiiko by’obuyambi eby’omutendera gwa bbulooka mu foomu bisobola okutondebwa nga tukozesa .form-text(eyali emanyiddwa nga .help-blockmu v3). Ebiwandiiko by'obuyambi ebiri mu layini bisobola okuteekebwa mu nkola mu ngeri ekyukakyuka nga tukozesa ekintu kyonna ekya HTML ekiri mu layini ne kiraasi z'omugaso nga .text-muted.
Ekiwandiiko ky’obuyambi kirina okukwatagana mu bulambulukufu n’okufuga foomu kye kikwatagana n’okukozesa aria-describedbyekintu. Kino kijja kukakasa nti tekinologiya ayamba —nga ebisoma ku ssirini —ajja kulangirira ekiwandiiko kino eky’obuyambi ng’omukozesa assa essira oba ng’ayingira mu kifuga.
Ebiwandiiko by'obuyambi wansi w'ebiyingizibwa bisobola okukolebwako sitayiro ne .form-text. Kiraasi eno erimu display: blockera n’eyongerako margin ezimu ez’okungulu okusobola okwanguyiza ebanga okuva ku biyingizibwa waggulu.
Ekigambo kyo eky’okuyingira kirina okuba nga kirimu ennukuta 8-20, nga kirimu ennukuta ne nnamba, era tekirina kubaamu bifo, ennukuta ez’enjawulo, oba emoji.
Ebiwandiiko ebiri mu layini bisobola okukozesa ekintu kyonna ekya bulijjo ekya HTML ekiri mu layini (kabeere <small>, <span>, oba ekintu ekirala) nga tekirina kirala okuggyako kiraasi y’omugaso.
Okwongerako disabledekintu ku a <fieldset>okulemesa ebifuga byonna ebiri munda.
Okulabula nga olina ennanga
Nga bwekiba, browsers zijja kutwala byonna ebifuga ffoomu enzaaliranwa ( <input>, <select>ne <button>elements) munda mu a <fieldset disabled>nga ebiremeseddwa, okulemesa byombi keyboard ne mouse enkolagana ku byo. Naye singa ffoomu yo nayo erimu <a ... class="btn btn-*">ebintu, bino bijja kuweebwa sitayiro ya pointer-events: none. Nga bwe kyayogerwa mu kitundu ekikwata ku mbeera elemeseddwa ku buttons (n'okusingira ddala mu kitundu ekitono eky'ebintu anchor), ekintu kino ekya CSS tekinnaba ku mutindo era tekinnawagirwa mu bujjuvu mu Internet Explorer 10, era tekijja kulemesa bakozesa keyboard okubeera asobola okussa essira oba okukozesa enkolagana zino. Kale okusobola okuba n’obukuumi, kozesa JavaScript eya bulijjo okulemesa enkolagana ng’ezo.
Okukwatagana kwa cross-browser
Wadde nga Bootstrap ejja kukozesa emisono gino mu browser zonna, Internet Explorer 11 ne wansi tewagira mu bujjuvu disabledattribute ku a <fieldset>. Kozesa JavaScript eya bulijjo okulemesa fieldset mu browser zino.
Okukakasa
Okuwa endowooza ez’omuwendo, ezisobola okukolebwa eri abakozesa bo n’okukakasa foomu ya HTML5– esangibwa mu bulawuzi zaffe zonna eziwagirwa . Londa okuva mu browser default validation feedback, oba teeka mu nkola obubaka obw'ennono ne classes zaffe ezimbiddwamu ne JavaScript etandika.
Mu kiseera kino tukuwa amagezi okukozesa emisono gy’okukakasa egy’enjawulo, kubanga obubaka bw’okukakasa obusookerwako bwa bbulawuzi enzaaliranwa tebutera kwolesebwa tekinologiya ayamba mu bulawuzi zonna (okusinga, Chrome ku desktop ne ku ssimu).
Engeri gye kikola
Laba engeri okukakasa foomu gye kukola ne Bootstrap:
Okukakasa foomu ya HTML kukozesebwa okuyita mu CSS's two pseudo-classes, :invalidne :valid. Kikwata ku <input>, <select>, ne <textarea>elementi.
Bootstrap scopes the :invalidne :validstyles ku kiraasi y'omuzadde .was-validated, ebiseera ebisinga ekozesebwa ku <form>. Bwe kitaba ekyo, ennimiro yonna eyeetaagisa nga tewali muwendo eraga nga si ntuufu ku kutikka omuko. Mu ngeri eno, oyinza okusalawo ddi lw’ogenda okuzikola (ebiseera ebisinga oluvannyuma lw’okugezaako okuleeta foomu).
Okuddamu okuteekawo endabika ya foomu (okugeza, mu mbeera y’okuweereza foomu okukyukakyuka nga okozesa AJAX), ggyawo .was-validatedekibiina okuva mu <form>nate oluvannyuma lw’okuweereza.
Nga fallback, .is-invalidera .is-validclasses ziyinza okukozesebwa mu kifo kya pseudo-classes for server side validation . Tezeetaaga .was-validatedkibiina kya bazadde.
Olw'ebizibu mu ngeri CSS gy'ekola, tetusobola (mu kiseera kino) kukozesa sitayiro ku a <label>ejja nga tennabaawo kufuga ffoomu mu DOM awatali buyambi bwa JavaScript eya bulijjo.
Browser zonna ez’omulembe ziwagira constraint validation API , omuddirirwa gw’enkola za JavaScript ez’okukakasa ebifuga foomu.
Obubaka bw’okuddamu buyinza okukozesa ebisookerwako bya bbulawuzi (eby’enjawulo ku buli bbulawuzi, era nga tebiyinza kukolebwa nga biyita mu CSS) oba emisono gyaffe egy’okuddamu egy’ennono nga giriko HTML ne CSS ez’enjawulo.
Oyinza okuwa obubaka obw'obutuufu obw'ennono ne setCustomValiditymu JavaScript.
Nga olina ekyo mu birowoozo, lowooza ku demos zino wammanga ez’emisono gyaffe egy’okukakasa foomu egy’ennono, kiraasi z’oludda lwa seva ez’okwesalirawo, n’ebisookerwako bya bbulawuzi.
Emisono egy’enjawulo
Ku bubaka obw'okukakasa foomu ya Bootstrap eya bulijjo, ojja kwetaaga okwongerako ekintu kya novalidateboolean ku <form>. Kino kiremesa ebikozesebwa eby'okuddamu ebisookerwako ebya bbulawuzi, naye nga kikyawa olukusa ku API z'okukakasa foomu mu JavaScript. Gezaako okuleeta foomu eno wammanga; JavaScript yaffe ejja kukwata button y'okuweereza n'okukuweereza endowooza yo. Bw’oba ogezaako okuleeta, ojja kulaba :invalidne :validsitayiro nga zikozesebwa ku bifuga foomu yo.
Emisono gy’okuddamu egy’enjawulo gikozesa langi ez’enjawulo, ensalosalo, emisono gy’okussa essira, n’ebifaananyi eby’emabega okusobola okuwuliziganya obulungi ebiteeso. Ebifaananyi eby'emabega ebya <select>s bifunibwa ne .custom-select, so si .form-control.
Browser esookera ddala
Tofaayo ku bubaka bw'okuddamu okukakasa obw'ennono oba okuwandiika JavaScript okukyusa enneeyisa za ffoomu? Byonna birungi, osobola okukozesa browser defaults. Gezaako okuleeta foomu eno wammanga. Okusinziira ku browser yo ne OS, ojja kulaba sitayiro ey’enjawulo katono ey’okuddamu.
Wadde nga emisono gino egy'okuddamu tegisobola kukola sitayiro na CSS, okyayinza okulongoosa ebiwandiiko by'okuddamu okuyita mu JavaScript.
Oludda lwa seeva
Tukuwa amagezi okukozesa okukakasa ku ludda lwa kasitoma, naye mu mbeera nga weetaaga okukakasa ku ludda lwa seva, osobola okulaga ennimiro za foomu ezitali ntuufu era entuufu ne .is-invalidne .is-valid. Weetegereze nti .invalid-feedbacknakyo kiwagirwa ne kiraasi zino.
Ebintu ebiwagirwa
Emisono gy'okukakasa giriwo ku bifuga n'ebitundu bya foomu bino wammanga:
<input>s ne <textarea>s nga mulimu .form-control(nga mw’otwalidde n’okutuuka ku kimu .form-controlmu bibinja by’ebiyingizibwa) .
<select>s nga balina .form-controloba.custom-select
.form-checks
.custom-checkboxs ne .custom-radios
.custom-file
Ebikozesebwa
Singa ensengeka ya foomu yo ekkiriza, osobola okukyusakyusa .{valid|invalid}-feedbackkiraasi ne .{valid|invalid}-tooltipkiraasi okulaga ebiteeso by’okukakasa mu kigambo ky’ebikozesebwa ekiriko sitayiro. Kakasa nti olina omuzadde alina position: relativeku yo for tooltip positioning. Mu kyokulabirako wansi, kiraasi zaffe ez’ennyiriri kino zirina dda, naye pulojekiti yo eyinza okwetaaga okuteekawo okulala.
Okulongoosa
Embeera z'okukakasa zisobola okulongoosebwa nga ziyita mu Sass ne $form-validation-statesmaapu. Esangibwa mu _variables.scssfayiro yaffe, maapu eno eya Sass ekolebwako loopu okukola embeera ezisookerwako valid/ invalidezikakasa. Mulimu maapu eteekeddwa mu kisenge okulongoosa langi n’akabonero ka buli ssaza. Wadde nga tewali masaza malala gawagirwa bbulawuzi, abo abakozesa emisono egy’enjawulo basobola bulungi okwongerako ebiteeso bya ffoomu ebizibu ennyo.
Nsaba omanye nti tetukuwa magezi kulongoosa miwendo gino nga tokyusizza na form-validation-statemixin.
Ffoomu ez’ennono
Okusobola n’okusingawo okulongoosa n’okukwatagana kwa bbulawuzi okusalako, kozesa ebintu byaffe ebya ffoomu eby’enjawulo ddala okudda mu kifo ky’ebisookerwako ebya bbulawuzi. Zizimbibwa waggulu ku semantic ne accessible markup, kale zibeera solid replacements for any default form control.
Ebibokisi ebikebera ne leediyo
Buli checkbox ne radio <input>ne <label>pairing bizingibwa mu a <div>okukola custom control yaffe. Mu nsengeka, eno y’enkola y’emu n’enkola yaffe eya bulijjo .form-check.
Tukozesa ekisunsula baganda ( ~) ku masaza gaffe <input>gonna —nga :checked—okukola obulungi sitayiro y’ekiraga foomu yaffe ey’ennono. Bwe tugattibwa ne .custom-control-labelkiraasi, tusobola n’okukola sitayiro y’ekiwandiiko kya buli kintu okusinziira ku mbeera ya <input>'s.
Tukweka ekisookerwako <input>ne opacityera tukozesa .custom-control-labelokuzimba ekiraga foomu empya ey'ennono mu kifo kyakyo ne ::beforene ::after. Ebyembi tetusobola kuzimba custom one okuva just the <input>kubanga CSS's contenttekola ku element eyo.
Mu mbeera ezikebereddwa, tukozesa ebifaananyi bya SVG ebiteekeddwamu base64 okuva mu Open Iconic . Kino kituwa okufuga okusinga obulungi ku sitayiro n’okuteeka mu kifo mu bulawuzi n’ebyuma byonna.
Ebibokisi ebikebera
Ebibokisi ebikebera eby’enjawulo nabyo bisobola okukozesa :indeterminateekibiina eky’obulimba nga biteekeddwa mu ngalo nga biyita mu JavaScript (tewali kintu kya HTML ekiriwo eky’okukirambika).
Bw’oba okozesa jQuery, ekintu nga kino kisaana okumala:
Leediyo
Mu layini
Obutesobola
Ebibokisi ebikebera eby’enjawulo ne leediyo nabyo bisobola okulemesa. Okwongerako ekintu kya disabledboolean ku <input>era ekiraga eky'ennono n'ennyonnyola y'akabonero bijja kukolebwa mu sitayiro mu ngeri ey'otoma.
Menyu <select>eza custom zeetaaga kiraasi ya custom yokka, .custom-selectokutandika emisono egy'ennono. Emisono egy'enjawulo gikoma ku <select>ndabika ya 's esooka era tesobola kukyusa <option>s olw'obuzibu bwa bbulawuzi.
Oyinza n'okulonda okuva mu kulonda okutono n'okunene okw'ennono okukwatagana n'ebiwandiiko byaffe ebiyingizibwa mu sayizi y'emu.
Attribute multipleera ewagirwa:
Nga bwe kiri ku sizempisa:
Ebanga
Tonda <input type="range">ebifuga eby'ennono ne .custom-range. Oluyimba (emabega) n’engalo ensajja (omuwendo) byombi bikoleddwa mu sitayiro okulabika kye kimu mu bulawuzi zonna. Nga IE ne Firefox zokka bwe ziwagira “okujjuza” oluyimba lwabwe okuva ku kkono oba ku ddyo w’engalo ensajja ng’engeri y’okulaga mu maaso enkulaakulana, mu kiseera kino tetugiwagira.
Ebiyingizibwa mu bbanga birina emiwendo egy’enjawulo egya minne max— 0ne 100, mu kulondako. Oyinza okulaga emiwendo emipya eri abo abakozesa ebifaananyi minne max.
Nga bwekiba, ebiyingizibwa mu bbanga “snap” ku miwendo gya namba enzijuvu. Okukyusa kino, osobola okulaga stepomuwendo. Mu kyokulabirako wansi, tukubisaamu emirundi ebiri omuwendo gw’emitendera nga tukozesa step="0.5".
Okukebera fayiro
Plugin esengekeddwa okukola obulamu okuyingiza fayiro eya bulijjo: bs-custom-file-input , ekyo kye tukozesa mu kiseera kino wano mu docs zaffe.
Tukweka fayiro eya bulijjo <input>nga tuyita mu opacityera mu kifo ky'ekyo tukola sitayiro ya <label>. Button ekolebwa era n'eteekebwa ne ::after. Ekisembayo, tulangirira a widthne heightku the <input>for proper spacing for surrounding content.
Okuvvuunula oba okulongoosa ennyiriri ne SCSS
Ekika :lang()ky’obulimba kikozesebwa okusobozesa okuvvuunula ekiwandiiko “Browse” mu nnimi endala. Ssa oba yongera ku biyingiziddwa ku $custom-file-textnkyukakyuka ya Sass n'akabonero k'olulimi akakwatagana n'ennyiriri eziteekeddwa mu kitundu . Ennyiriri z’Olungereza zisobola okulongoosebwa mu ngeri y’emu. Okugeza, wuuno engeri omuntu gy'ayinza okwongerako enzivuunula y'Olusipeyini (enkodi y'olulimi Olusipeyini eri es):
Wano lang(es)mu bikolwa ku kuyingiza fayiro eya bulijjo ey'okuvvuunula mu Lusipeyini:
Ojja kwetaaga okuteekawo olulimi lw'ekiwandiiko kyo (oba omuti omutono ogwakyo) mu butuufu okusobola ekiwandiiko ekituufu okulagibwa. Kino kiyinza okukolebwa nga okozesa ekintulang ekiri ku elementi<html> oba Content-Languageomutwe gwa HTTP , mu nkola endala.
Okuvvuunula oba okulongoosa ennyiriri ne HTML
Bootstrap era egaba engeri y’okuvvuunula ekiwandiiko “Browse” mu HTML n’ekintu data-browseekiyinza okugattibwa ku kiwandiiko ky’okuyingiza eky’ennono (okugeza mu Ludaaki):