Fa'ata'ita'iga ma ta'iala fa'aoga mo sitaili fa'atonutonu fomu, filifiliga fa'atulagaina, ma vaega fa'ale-aganu'u mo le fa'atupuina o le tele o fomu.
Vaaiga lautele
E fa'alautele le fa'atonuga a le Bootstrap i la matou Sitaili fomu Toe fa'afouina ma vasega. Fa'aoga nei vasega e filifili ai i a latou fa'aaliga fa'apitoa mo se fa'aliliuga faifai pea i su'esu'ega ma masini.
Ia mautinoa e fa'aoga se typeuiga talafeagai i mea uma e fai (fa'ata'ita'iga, emailmo tuatusi imeli po'o numberfa'amatalaga numera) e fa'aoga lelei ai fa'atonuga fou e pei o fa'amaonia imeli, filifiliga numera, ma isi mea.
Ole fa'ata'ita'iga vave lea e fa'aalia ai sitaili fomu a Bootstrap. Fa'aauau le faitau mo fa'amaumauga i vasega mana'omia, fa'atulagaina o fomu, ma isi mea.
Pulea fomu
O fa'atonuga o fa'amatalaga tusitusia—pei o <input>le s, <select>s, ma <textarea>le s—o lo'o fa'atulagaina ma le .form-controlvasega. E aofia ai sitaili mo foliga lautele, tulaga taulaʻi, lapopoa, ma isi mea.
Ia mautinoa e su'esu'e a matou fomu fa'aaganu'u e fa'aopoopo atili ai sitaili <select>s.
Mo faila faila, sui le .form-controlmo .form-control-file.
Tele
Seti maualuga e fa'aaoga ai vasega pei o .form-control-lgma .form-control-sm.
Faitau na'o
Fa'aopoopo le readonlyuiga o le boolean i luga o se mea fa'aoga e taofia ai le suia o le tau o le mea. O mea e fai na'o le faitau e foliga mama (pei lava o mea fa'aoga ua le atoatoa), ae taofi le fa'aupu masani.
Faitau na'o tusitusiga manino
Afai e te mana'o e <input readonly>fa'aigoa elemene i lau fomu e pei o ni tusitusiga manino, fa'aoga le .form-control-plaintextvasega e aveese ai le fa'ailoga fa'aletonu ole fa'ailoga fanua ma fa'asao le pito sa'o ma le fa'aofuofu.
E fa'aleleia pusa siaki ma leitio fa'atasi ma le fesoasoani a .form-check, se vasega e tasi mo ituaiga fa'aoga uma e fa'aleleia ai le fa'atulagaina ma le amio a latou elemene HTML . O pusa siaki e mo le filifilia o se tasi po'o ni nai filifiliga i se lisi, ae o leitio e mo le filifilia o se tasi filifiliga mai le tele.
O lo'o lagolagoina pusa siaki ma leitio fa'aletonu, ae ina ia tu'uina atu se not-allowedfa'ailo i luga o le fa'amalo ole matua <label>, e tatau ona e fa'aopoopoina le disableduiga i le .form-check-input. O le uiga fa'aletonu o le a fa'aogaina se lanu mama e fesoasoani e fa'ailoa ai le tulaga o le fa'aoga.
O pusa siaki ma fa'aoga leitio ua fausia e lagolago ai le fa'amaoniaina o pepa fa'avae HTML ma tu'u mai ai fa'ailoga pu'upu'u ma faigofie ona maua. O lea la, oa tatou <input>s ma <label>s o ni elemene uso e fa'afeagai ma se <input>i totonu o le <label>. E sili atu teisi atu upu e tatau ona e faʻamaonia idma foruiga e faʻatatau i le <input>ma <label>.
Fa'atonu (fa'aputu)
E le mafai, so'o se numera o pusa siaki ma leitio e vave ona fa'apipi'i fa'aputu i luga ma va'a talafeagai ma le .form-check.
I totonu
Fa'avae pusa siaki po'o leitio i luga o le laina fa'alava e tasi e ala i le fa'aopoopo .form-check-inlinei so'o se .form-check.
E aunoa ma ni fa'ailoga
Fa'aopoopo .position-statici mea fa'aoga i totonu .form-checke leai ni fa'ailoga tusitusia. Manatua e tu'u pea nisi ituaiga o fa'ailoga mo tekinolosi fesoasoani (mo se fa'ata'ita'iga, fa'aoga aria-label).
Fa'atulagaina
Talu ai e fa'aoga le Bootstrap display: blockma width: 100%toetoe o a tatou fa'atonuga uma, o le a le mafai ona fa'aputu fa'aputu i luga le sa'o o fomu. E mafai ona fa'aoga vasega fa'aopoopo e fesuia'i ai lea fa'atulagaina i luga ole fa'avae fa'avae.
Fausia vaega
O le .form-groupvasega o le auala pito sili lea ona faigofie e faʻaopoopo ai nisi fausaga i fomu. E maua ai se vasega fetu'utu'una'i e fa'amalosia le fa'avasegaina lelei o fa'ailoga, fa'atonuga, tusitusiga fesoasoani e filifili ai, ma fa'ailoga fe'au fa'amaonia. I le faaletonu e na'o le fa'aoga margin-bottom, ae na te pikiina isi sitaili .form-inlinepe a mana'omia. Fa'aoga i <fieldset>le s, <div>s, po'o le toetoe lava o isi elemene.
Fa'asologa o pepa
E mafai ona fausia ni fomu e sili atu ona lavelave e fa'aoga ai a tatou vasega fa'avasega. Fa'aoga mea nei mo fa'asologa o fomu e mana'omia ai le tele o koluma, felafolafoa'i lautele, ma fa'aopoopo fa'aoga filifiliga.
Fomu laina
E mafai fo'i ona e fa'afesuia'i .rowmo le .form-row, o se fesuiaiga o la matou laina fa'asologa masani e fa'amalo ai alavai o koluma fa'aletonu mo fa'ata'otoga ma'oti ma sili atu.
E mafai fo'i ona fai fa'atonuga sili atu ona lavelave i le faiga fa'ata.
Faiga faalava
Fausia fomu fa'ata'atia i le fa'asologa e ala i le fa'aopoopoina o le .rowvasega e fa'atupu vaega ma fa'aoga .col-*-*vasega e fa'ailoa ai le lautele o au fa'ailoga ma fa'atonuga. Ia mautinoa e fa'aopoopo .col-form-labelfo'i i lau <label>s ina ia fa'atotonugalemu i luga ma a latou fa'atonuga fa'atatau.
I nisi o taimi, atonu e te manaʻomia le faʻaogaina o le pito poʻo le padding utilities e fatu ai lena faʻaoga lelei e te manaʻomia. Mo se fa'ata'ita'iga, ua matou 'ave'esea le fa'ailoga o padding-toplo'o i luga o la matou fa'aputuga fa'aigoa o le leitio e fa'aoga lelei ai le laina fa'avae.
Fa'ailoga fa'ailoga fa'asaga'i
Ia mautinoa e fa'aoga .col-form-label-smpo'o .col-form-label-lglou <label>s po'o <legend>le s e mulimuli sa'o le tele o le .form-control-lgma .form-control-sm.
Fa'avasegaina o koluma
E pei ona fa'aalia i fa'ata'ita'iga talu ai, e mafai ai e le matou fa'atonuga ona tu'u so'o se numera o .cols i totonu o le .rowpo'o le .form-row. Latou te vaelua tutusa le lautele avanoa i le va. E mafai fo'i ona e filifilia se vaega o au koluma e fa'aalu ai le tele pe itiiti le avanoa, ae o le vaega o totoe .cole vaelua tutusa le vaega o totoe, ma vasega fa'apitoa koluma e pei o .col-7.
Otometi-fa'atele
O le fa'ata'ita'iga o lo'o i lalo o lo'o fa'aogaina ai se fa'aoga flexbox e fa'atotonu tu'utonu ai mea i totonu ma suiga .colina .col-autoia na'o le tele o avanoa e fa'aoga ai e au koluma pe a mana'omia. I se isi itu, o le koluma e fua lava i luga o mea o loʻo i totonu.
E mafai ona e toe fa'afefiloi lea fa'atasi ma vasega o koluma fa'apitoa.
Ma o le mea moni o lo'o lagolagoina fa'atonuga fa'apitoa.
Fa'atumu laina
Fa'aoga le .form-inlinevasega e fa'aali ai se fa'asologa o fa'ailoga, fa'atonutonu fomu, ma fa'amau i luga o se laina fa'ata'atia e tasi. O le fa'atonutonuina o fomu i totonu o fomu fa'asinomaga e eseese la'ititi mai o latou tulaga fa'aletonu.
Pulea o display: flex, fa'alalo so'o se HTML avanoa paepae ma fa'atagaina oe e tu'uina atu fa'atonuga fa'atonuga ma fa'aoga avanoa ma flexbox .
E maua e pulega ma vaega fa'aoga e width: autofa'amalo le fa'aletonu Bootstrap width: 100%.
Na'o fa'atonuga e fa'aalia i totonu o va'aiga va'ai e le itiiti ifo i le 576px le lautele e fa'atatau mo va'ai va'ai va'ai i masini feavea'i.
Atonu e te manaʻomia le faʻaogaina ma le lima le lautele ma le faʻaogaina o faʻatonuga taʻitasi ma faʻaoga avanoa (e pei ona faʻaalia i lalo). I le mea mulimuli, ia mautinoa ia aofia ai i taimi uma le <label>faʻatasi ma faʻatonuga taʻitasi, e tusa lava pe e te manaʻomia e nana mai tagata asiasi e le o ni screenreader ma .sr-only.
E lagolagoina fo'i fa'atonuga fa'apitoa ma filifiliga.
Su'ega i igoa natia
Fa'atekonolosi fesoasoani e pei o le screen readers o le a iai ni fa'alavelave i au fomu pe afai e te le fa'aofiina se fa'ailoga mo fa'aoga uma. Mo nei fomu i totonu, e mafai ona e nanaina igoa e fa'aaoga ai le .sr-onlyvasega. O lo'o i ai isi auala fa'aopoopo e tu'uina atu ai se fa'ailoga mo tekonolosi fesoasoani, e pei o le aria-label, aria-labelledbypo'o le titleuiga. Afai e leai se tasi o nei mea o iai, e mafai e tekinolosi fesoasoani ona faʻaogaina le placeholderuiga, pe a iai, ae ia maitauina e placeholderle fautuaina le faʻaaogaina e suitulaga i isi metotia faʻailoga.
Fesoasoani tusitusiga
E mafai ona fa'aogaina tusitusiga fesoasoani ile tulaga poloka ile fa'aoga .form-text(na iloa muamua .help-blockile v3). E mafai ona fetu'una'i le fa'atinoina o tusitusiga fesoasoani i totonu ole laiga e fa'aaoga ai so'o se elemene HTML ma vasega aoga e pei ole .text-muted.
Fa'afeso'ota'i tusitusiga fesoasoani ma fa'atonutonu fomu
O tusitusiga fesoasoani e tatau ona feso'ota'i manino ma le fa'atonutonuina o fomu e fa'atatau i le fa'aogaina o le aria-describedbyuiga. Ole mea lea ole a fa'amautinoa ai ole fesoasoani tekonolosi—e pei ole screen readers—o le a fa'asalalauina lenei fesoasoani tusitusiga pe a taula'i pe ulufale le tagata fa'aoga i le pule.
O tusitusiga fesoasoani o lo'o i lalo e mafai ona fa'avasega i le .form-text. O lenei vasega e aofia ai display: blockma fa'aopoopo nisi pito pito i luga mo le fa'afaigofieina o avanoa mai mea fa'aoga i luga.
O lau fa'aupuga e tatau ona 8-20 mataitusi le umi, e aofia ai mataitusi ma numera, ma e le tatau ona i ai avanoa, mataitusi fa'apitoa, po'o emoji.
E mafai ona fa'aogaina e tusitusiga i totonu so'o se elemene HTML masani (pe o se <small>, <span>, po'o se isi mea) e leai se mea e sili atu nai lo se vasega aoga.
Fomu fa'aletonu
Fa'aopoopo le disableduiga o le boolean i luga o se fa'aoga e taofia ai le fegalegaleai a tagata fa'aoga ma fa'aali mama.
Fa'aopoopo le disableduiga ile a <fieldset>e tape uma ai fa'atonuga i totonu.
Fa'atoga ma taula
Ona o le faaletonu, o le a faia e tagata su'esu'e ia fa'atonuga uma ( <input>, <select>ma <button>elemene) i totonu o se <fieldset disabled>fa'aletonu, e taofia ai feso'ota'iga keyboard ma isumu i luga. Ae peita'i, afai o lau fomu e aofia ai fo'i <a ... class="btn btn-*">elemene, o le a na'o se sitaili o le pointer-events: none. E pei ona taʻua i le vaega e uiga i le tulaga faʻaletonu mo faʻamau (ma faʻapitoa i le vaega pito i lalo mo elemene taula), o lenei CSS meatotino e leʻi faʻasalaina ma e leʻo lagolagoina atoatoa i Internet Explorer 10, ma o le a le taofia ai tagata faʻaoga keyboard mai le mafai ona taula'i pe fa'agaoioia nei so'oga. O lea ina ia saogalemu, faʻaaoga le JavaScript masani e faʻamalo ai ia soʻotaga.
Fesoasoani cross-browser
E ui o Bootstrap o le a faʻaogaina nei sitaili i suʻesuʻega uma, Internet Explorer 11 ma lalo e le lagolagoina atoatoa le disableduiga ile <fieldset>. Fa'aaoga le JavaScript masani e tape ai le seti fanua i nei su'esu'ega.
Fa'amaoniga
Tuuina atu fa'amatalaga taua, fa'atino i au fa'aoga fa'atasi ai ma le fa'amaoniaina o fomu HTML5– avanoa i a matou su'esu'ega lagolago uma . Filifili mai le faʻamatalaga faʻamaonia le faʻaogaina o le browser, poʻo le faʻatinoina o feʻau masani ma a matou vasega faʻapipiʻi ma le JavaScript amata.
Matou te fautuaina i le taimi nei le faʻaogaina o sitaili faʻamaonia masani, ona o feʻau faʻamaonia le faʻaogaina o le browser e le o faʻaalia i taimi uma i tekinolosi fesoasoani i suʻesuʻega uma (aemaise lava, Chrome i luga o le desktop ma le telefoni feaveaʻi).
E faapefea ona galue
O le auala lenei e galue ai le faʻamaoniaina o pepa ma Bootstrap:
O le faʻamaoniaina o pepa HTML e faʻaaogaina e ala i le lua pseudo-vasega a le CSS, :invalidma :valid. E faatatau i <input>, <select>, ma <textarea>elemene.
Bootstrap e fa'apipi'i le :invalidma :validsitaili i le .was-validatedvasega matua, e masani ona fa'aoga i le <form>. A leai, so'o se fanua mana'omia e aunoa ma se tau e fa'aalia e le aoga ile uta itulau. I lenei auala, e mafai ona e filifili pe o afea e faʻagaoioia ai (e masani lava pe a maeʻa ona taumafai le tuʻuina atu).
Ina ia toe faʻafoʻi foliga o le fomu (mo se faʻataʻitaʻiga, i le tulaga o le tuʻuina atu o pepa faʻamalosi e faʻaaoga ai le AJAX), aveese le .was-validatedvasega mai le <form>toe tuʻuina atu.
I le avea ai o se faʻafouga, .is-invalidma .is-validvasega e mafai ona faʻaaogaina nai lo le pseudo-vasega mo le faʻamaoniaina o le itu a le server . Latou te le manaʻomia se .was-validatedvasega matua.
Ona o faʻalavelave i le auala e galue ai le CSS, e le mafai ona matou (i le taimi nei) faʻaoga sitaili i se <label>mea e sau i luma o le faʻatonutonuina o foliga i le DOM e aunoa ma le fesoasoani a le JavaScript masani.
O su'esu'ega fa'aonaponei uma e lagolagoina le API fa'amaonia fa'atapula'aina , o se fa'asologa o metotia JavaScript mo le fa'amaoniaina o fa'atonuga.
O fe'au fa'afofoga e mafai ona fa'aoga ai fa'aletonu ole su'esu'ega (ese'ese mo su'esu'ega ta'itasi, ma e le mafai ona fa'aogaina e ala i le CSS) po'o a tatou sitaili fa'aalia fa'apitoa fa'atasi ai ma HTML ma CSS fa'aopoopo.
E mafai ona e tu'uina atu fe'au fa'ale-aganu'u fa'atatau setCustomValidityile JavaScript.
Faatasi ai ma lena manatu, mafaufau i faʻataʻitaʻiga o loʻo mulimuli mai mo a tatou sitaili faʻamaonia pepa masani, vasega i le itu o le server, ma le faʻaogaina o suʻesuʻega.
Sitaili masani
Mo fe'au fa'amaonia faiga masani a Bootstrap, e mana'omia lou fa'aopoopoina o le novalidateuiga boolean i lau <form>. Ole mea lea e fa'amalo ai le browser default feedback tooltips, ae o lo'o maua pea le avanoa i le fa'amaoniga API i le JavaScript. Taumafai e tu'u le fomu i lalo; o le a fa'alavelaveina e le matou Javascript le fa'amau tu'u mai ma fa'asalalau atu fa'amatalaga ia te oe.
A e taumafai e tu'uina atu, e te va'ai i le :invalidma :validsitaili e fa'aoga i au fa'atonuga.
Fa'aletonu le browser
Le fiafia i fe'au tali fa'amaonia fa'ale-aganu'u po'o le tusiaina o le Javascript e sui ai le faiga o amio? Lelei mea uma, e mafai ona e faʻaogaina le faʻaogaina o le browser. Taumafai e lafo le fomu i lalo. Fa'alagolago i lau su'esu'ega ma le OS, o le a e va'ai i se sitaili la'ititi o fa'amatalaga.
E ui e le mafai ona fa'avasegaina nei sitaili fa'amatalaga ile CSS, e mafai lava ona e fa'avasegaina fa'amatalaga manatu e ala ile JavaScript.
Itu o le server
Matou te fautuaina le faʻaogaina o le faʻamaoniga a le tagata o tausia, ae afai e te manaʻomia le itu o le server, e mafai ona e faʻaalia le le aoga ma le aoga o faʻailoga .is-invalidma le .is-valid. Manatua .invalid-feedbacko loʻo lagolagoina foi i nei vasega.
Elemene lagolago
O a matou fa'ata'ita'iga fomu o lo'o fa'aalia ai tusitusiga fa'ale-aganu'u <input>o lo'o i luga, ae o lo'o avanoa fo'i sitaili fa'amaonia mo a tatou fa'atonuga fa'apitoa fo'i.
Mea faigaluega
Afai e fa'ataga e lau fomu, e mafai ona e fesuia'i .{valid|invalid}-feedbackvasega mo .{valid|invalid}-tooltipvasega e fa'aalia ai fa'amatalaga fa'amaonia i se fa'ailoga meafaigaluega. Ia mautinoa e iai se matua position: relativeo iai mo le fa'atulagaina o meafaigaluega. I le faʻataʻitaʻiga o loʻo i lalo, o matou vasega koluma ua uma ona iai lenei mea, ae o lau poloketi e ono manaʻomia se isi seti.
Fa'ailoga fa'apitoa
Mo le tele o fa'aganu'u ma feso'ota'iga o su'esu'ega, fa'aoga a matou mea fa'aaganu'u atoa e sui ai mea fa'aletonu ole su'esu'e. O lo'o fausia i luga o le fa'ailoga fa'ailoga ma mafai ona maua, o lea o ni suiga mautu mo so'o se fa'atonuga fa'aletonu.
Pusa siaki ma leitio
O pusa siaki taitasi ma le leitio e afifi i totonu o se <div>fa'atasi ma se tei <span>e fai ai la tatou fa'atonuga fa'ale-aganu'u ma se <label>mo le tusitusiga o lo'o fa'atasi ai. I le faʻatulagaina, o le auala lava lea e tasi e pei o le matou faaletonu .form-check.
Matou te fa'aogaina le sibling filif ( ~) mo a matou <input>setete uma-pei-e fa'apena :checkedlelei le fa'ailoga fa'ailoga masani. Pe a tu'ufa'atasia ma le .custom-control-labelvasega, e mafai fo'i ona tatou fa'avasegaina le tusitusiga mo mea ta'itasi e fa'atatau i le <input>'s state.
Matou te natia le faaletonu <input>ma opacityfaʻaaoga le .custom-control-labele fausia ai se faʻailoga fou faʻailoga masani i lona tulaga ma ::beforema ::after. Ae paga lea e le mafai ona tatou fausia se aganu'u mai na'o le <input>aua e le aoga le CSS contenti lena elemene.
I setete siaki, matou te faʻaogaina le base64 faʻapipiʻi SVG icons mai Open Iconic . E maua mai ai ia i matou le pule sili mo le fa'avasegaina ma le fa'atulagaina i luga o su'esu'ega ma masini.
Pusa siaki
E mafai fo'i e pusa siaki fa'apitoa ona fa'aoga le :indeterminatevasega fa'afoliga pe a fa'atulaga ma le lima e ala i le JavaScript (e leai se uiga HTML avanoa e fa'ailoa ai).
Afai o loʻo e faʻaaogaina le jQuery, o se mea faʻapenei e tatau ona lava:
Leitio
I totonu
Fa'aletonu
E mafai fo'i ona fa'aletonu pusa siaki ma leitio. Fa'aopoopo le disableduiga boolean i le <input>ma o le a otometi lava ona fa'ailoga le fa'ailoga masani ma fa'amatalaga igoa.
Filifili le lisi
<select>E mana'omia e menus fa'apitoa na'o se vasega fa'aaganu'u, e .custom-selectfa'aoso ai sitaili masani. O sitaili fa'ale-aganu'u e fa'atapula'a ile <select>foliga muamua ma e le mafai ona suia le <option>s ona ole tapula'a ole su'esu'ega.
E mafai fo'i ona e filifili mai fa'aleaganu'u laiti ma lapopo'a e fa'afetauia a matou tusitusiga fa'atusa tutusa.
E multiplelagolagoina foi le uiga:
E pei o le sizeuiga:
Avanoa
Fausia ni <input type="range">fa'atonuga fa'apitoa i le .custom-range. O le ala (o le tua) ma le lima matua (le tau) o lo'o fa'atusa uma e foliga tutusa i su'esu'ega. Talu ai na'o le IE ma le Firefox e lagolagoina le "faatumu" o latou ala mai le agavale po'o le taumatau o le limamatua o se auala e fa'aalia ai le alualu i luma, matou te le o lagolagoina i le taimi nei.
O mea fa'aoga lautele e iai fa'atauga fa'apitoa mo minma max- 0ma 100, fa'asologa. E mafai ona e fa'amaoti ni tau fou mo i latou o lo'o fa'aogaina le minma maxuiga.
E ala i le le mafai, fa'aogaina fa'aoga "snap" i tau aofa'i. Ina ia suia lenei mea, e mafai ona e faʻamaonia se steptau. I le faʻataʻitaʻiga o loʻo i lalo, matou te faʻaluaina le numera o laasaga e ala i le faʻaaogaina o step="0.5".
Su'e faila
O le faila faila e sili ona mata'utia o le fuifui ma e mana'omia ai le Javascript faaopoopo pe afai e te mana'o e fa'afeso'ota'i i le galuega Filifili faila... ma le igoa faila filifilia.
Matou te natia le faila faaletonu e <input>ala i opacityle faʻailogaina o le <label>. O le faamau e gaosia ma fa'atulagaina i le ::after. Ma le mea mulimuli, matou te ta'utino atu a widthma heighti luga o le <input>mo avanoa talafeagai mo mea o lo'o siomia ai.
Fa'aliliuina po'o le fa'avasegaina o manoa
O le :lang()pseudo-class e fa'aaogaina e fa'ataga ai le fa'aliliuina o le tusitusiga "Su'esu'e" i isi gagana. Fa'asolo pe fa'aopoopo fa'aulu i le $custom-file-textfesuiaiga Sass fa'atasi ai ma le fa'ailoga gagana talafeagai ma manoa fa'apitonu'u. O manoa Igilisi e mafai ona faʻapipiʻiina i le auala lava e tasi. Mo se faʻataʻitaʻiga, o le auala lenei e mafai ai e se tasi ona faʻaopoopoina se faʻaliliuga Sipaniolo (O le gagana Sipaniolo o le es):
O lo'o lang(es)fa'agaoioi le fa'aulufaleina o faila masani mo se fa'aliliuga Sipaniolo:
E te mana'omia le setiina sa'o o le gagana o lau pepa (po'o le la'au o lo'o iai) ina ia fa'aalia le tusitusiga sa'o. E mafai ona faia lenei mea e faʻaaoga ai le languiga i luga o le <html>elemene poʻo le Content-Languageulutala HTTP , faʻatasi ai ma isi metotia.