ફોર્મ નિયંત્રણ શૈલીઓ, લેઆઉટ વિકલ્પો અને ફોર્મની વિશાળ વિવિધતા બનાવવા માટે કસ્ટમ ઘટકો માટે ઉદાહરણો અને ઉપયોગ માર્ગદર્શિકા.
ઝાંખી
બુટસ્ટ્રેપના ફોર્મ નિયંત્રણો વર્ગો સાથે અમારી રીબૂટ કરેલ ફોર્મ શૈલીઓ પર વિસ્તૃત થાય છે. સમગ્ર બ્રાઉઝર્સ અને ઉપકરણો પર વધુ સુસંગત રેન્ડરિંગ માટે તેમના કસ્ટમાઇઝ્ડ ડિસ્પ્લેને પસંદ કરવા માટે આ વર્ગોનો ઉપયોગ કરો.
નવા ઇનપુટ નિયંત્રણો જેવા કે ઈમેઈલ વેરિફિકેશન, નંબર સિલેક્શન અને વધુનો લાભ લેવા માટે typeતમામ ઇનપુટ્સ (દા.ત., emailઈમેલ એડ્રેસ માટે અથવા સંખ્યાત્મક માહિતી માટે) પર યોગ્ય એટ્રિબ્યુટનો ઉપયોગ કરવાનું સુનિશ્ચિત કરો .number
બુટસ્ટ્રેપની ફોર્મ શૈલીઓ દર્શાવવા માટે અહીં એક ઝડપી ઉદાહરણ છે. જરૂરી વર્ગો, ફોર્મ લેઆઉટ અને વધુ પર દસ્તાવેજીકરણ માટે વાંચતા રહો.
ફોર્મ નિયંત્રણો
ટેક્સ્ટ ફોર્મ નિયંત્રણો - જેમ કે <input>s, <select>s, અને s - વર્ગ <textarea>સાથે સ્ટાઇલ કરવામાં આવે છે . .form-controlસામાન્ય દેખાવ, ફોકસ સ્ટેટ, કદ બદલવાની અને વધુ માટેની શૈલીઓ શામેલ છે.
વધુ શૈલીઓ માટે અમારા કસ્ટમ સ્વરૂપોનું અન્વેષણ કરવાની ખાતરી કરો <select>.
.form-controlફાઇલ ઇનપુટ્સ માટે, માટે સ્વેપ કરો .form-control-file.
કદ બદલવાનું
.form-control-lgઅને જેવા વર્ગોનો ઉપયોગ કરીને ઊંચાઈ સેટ કરો .form-control-sm.
ફક્ત વાંચી
readonlyઇનપુટના મૂલ્યમાં ફેરફારને રોકવા માટે ઇનપુટ પર બુલિયન વિશેષતા ઉમેરો . ફક્ત વાંચવા માટેના ઇનપુટ્સ હળવા દેખાય છે (જેમ કે અક્ષમ ઇનપુટ્સ), પરંતુ પ્રમાણભૂત કર્સર જાળવી રાખે છે.
ફક્ત વાંચવા માટેનો સાદો ટેક્સ્ટ
જો તમે <input readonly>તમારા ફોર્મમાં ઘટકોને સાદા ટેક્સ્ટ તરીકે સ્ટાઇલ કરવા માંગતા હો .form-control-plaintext, તો ડિફોલ્ટ ફોર્મ ફીલ્ડ સ્ટાઇલને દૂર કરવા અને સાચો માર્જિન અને પેડિંગ સાચવવા માટે વર્ગનો ઉપયોગ કરો.
શ્રેણી ઇનપુટ્સ
નો ઉપયોગ કરીને આડા સ્ક્રોલ કરી શકાય તેવી શ્રેણીના ઇનપુટ્સ સેટ કરો .form-control-range.
ચેકબોક્સ અને રેડિયો
ડિફૉલ્ટ ચેકબોક્સ અને રેડિયોને ની મદદથી સુધારવામાં આવે છે .form-check, બંને ઇનપુટ પ્રકારો માટે એક વર્ગ જે તેમના HTML ઘટકોના લેઆઉટ અને વર્તનને સુધારે છે . ચેકબોક્સ સૂચિમાં એક અથવા અનેક વિકલ્પો પસંદ કરવા માટે છે, જ્યારે રેડિયો ઘણામાંથી એક વિકલ્પ પસંદ કરવા માટે છે.
અક્ષમ કરેલ ચેકબોક્સ અને રેડિયો સપોર્ટેડ છે. disabledઇનપુટની સ્થિતિ દર્શાવવામાં મદદ કરવા માટે વિશેષતા હળવા રંગને લાગુ કરશે .
ચેકબોક્સ અને રેડિયો બટનો HTML-આધારિત ફોર્મ માન્યતાને સમર્થન આપે છે અને સંક્ષિપ્ત, સુલભ લેબલ્સ પ્રદાન કરે છે. જેમ કે, આપણા <input>s અને <label>s એ ભાઈ-ભાંડુ તત્વો છે જ્યારે <input>a ની અંદર <label>. આ થોડું વધારે વર્બોઝ છે કારણ કે તમારે અને ને સંબંધિત કરવા માટે એટ્રિબ્યુટ્સનો ઉલ્લેખ idકરવો આવશ્યક forછે .<input><label>
ડિફૉલ્ટ (સ્ટૅક્ડ)
ડિફૉલ્ટ રૂપે, કોઈપણ સંખ્યાબંધ ચેકબોક્સ અને રેડિયો કે જે તાત્કાલિક ભાઈ છે તે ઊભી રીતે સ્ટેક કરવામાં આવશે અને સાથે યોગ્ય રીતે અંતરે રાખવામાં આવશે .form-check.
ઇનલાઇન
.form-check-inlineકોઈપણ .form-check. _
લેબલ્સ વિના
.position-staticઇનપુટ્સમાં ઉમેરો .form-checkકે જેમાં કોઈ લેબલ ટેક્સ્ટ નથી. સહાયક તકનીકો (ઉદાહરણ તરીકે, ઉપયોગ કરીને aria-label) માટે હજુ પણ અમુક સ્વરૂપનું લેબલ પ્રદાન કરવાનું યાદ રાખો.
લેઆઉટ
બુટસ્ટ્રેપ લાગુ પડતું હોવાથી display: blockઅને width: 100%અમારા લગભગ તમામ ફોર્મ કંટ્રોલ પર, ફોર્મ ડિફૉલ્ટ રૂપે ઊભી રીતે સ્ટેક થશે. પ્રતિ-ફોર્મના આધારે આ લેઆઉટને બદલવા માટે વધારાના વર્ગોનો ઉપયોગ કરી શકાય છે.
જૂથો બનાવો
વર્ગ એ .form-groupફોર્મમાં કેટલીક રચના ઉમેરવાની સૌથી સરળ રીત છે. તે એક લવચીક વર્ગ પૂરો પાડે છે જે લેબલ્સ, નિયંત્રણો, વૈકલ્પિક સહાય ટેક્સ્ટ અને ફોર્મ માન્યતા મેસેજિંગના યોગ્ય જૂથને પ્રોત્સાહિત કરે છે. મૂળભૂત રીતે તે ફક્ત લાગુ થાય છે, પરંતુ તે જરૂરિયાત મુજબ margin-bottomવધારાની શૈલીઓ પસંદ કરે છે . .form-inlineતેનો ઉપયોગ <fieldset>s, <div>s અથવા લગભગ કોઈપણ અન્ય તત્વ સાથે કરો.
ફોર્મ ગ્રીડ
અમારા ગ્રીડ વર્ગોનો ઉપયોગ કરીને વધુ જટિલ સ્વરૂપો બનાવી શકાય છે. આનો ઉપયોગ ફોર્મ લેઆઉટ માટે કરો કે જેને બહુવિધ કૉલમ, વિવિધ પહોળાઈ અને વધારાના સંરેખણ વિકલ્પોની જરૂર હોય.
ફોર્મ પંક્તિ
તમે અમારી માનક ગ્રીડ પંક્તિની વિવિધતા .rowમાટે પણ સ્વેપ કરી શકો છો જે કડક અને વધુ કોમ્પેક્ટ લેઆઉટ માટે ડિફોલ્ટ કૉલમ ગટરને ઓવરરાઇડ કરે છે..form-row
ગ્રીડ સિસ્ટમ સાથે વધુ જટિલ લેઆઉટ પણ બનાવી શકાય છે.
આડું સ્વરૂપ
.rowજૂથો બનાવવા માટે વર્ગ ઉમેરીને અને .col-*-*તમારા લેબલ્સ અને નિયંત્રણોની પહોળાઈનો ઉલ્લેખ કરવા માટે વર્ગોનો ઉપયોગ કરીને ગ્રીડ સાથે આડા સ્વરૂપો બનાવો. .col-form-labelતમારા s માં ઉમેરવાની ખાતરી કરો <label>જેથી તેઓ તેમના સંકળાયેલ ફોર્મ નિયંત્રણો સાથે ઊભી રીતે કેન્દ્રિત હોય.
અમુક સમયે, તમને જરૂર હોય તે સંપૂર્ણ સંરેખણ બનાવવા માટે તમારે માર્જિન અથવા પેડિંગ ઉપયોગિતાઓનો ઉપયોગ કરવાની જરૂર પડી શકે છે. ઉદાહરણ તરીકે, અમે padding-topટેક્સ્ટ બેઝલાઇનને વધુ સારી રીતે સંરેખિત કરવા માટે અમારા સ્ટેક કરેલા રેડિયો ઇનપુટ્સ લેબલને દૂર કર્યું છે.
આડું ફોર્મ લેબલ કદ બદલવાનું
અને ના કદને યોગ્ય રીતે અનુસરવા માટે તમારા s અથવા .col-form-label-sms નો ઉપયોગ કરવાની ખાતરી કરો ..col-form-label-lg<label><legend>.form-control-lg.form-control-sm
કૉલમ કદ બદલવાનું
અગાઉના ઉદાહરણોમાં બતાવ્યા પ્રમાણે, અમારી ગ્રીડ સિસ્ટમ તમને a અથવા ની .colઅંદર કોઈપણ નંબર s મૂકવાની મંજૂરી આપે છે . તેઓ તેમની વચ્ચે ઉપલબ્ધ પહોળાઈને સમાન રીતે વિભાજિત કરશે. તમે વધુ કે ઓછી જગ્યા લેવા માટે તમારી કૉલમનો સબસેટ પણ પસંદ કરી શકો છો, જ્યારે બાકીના ભાગો સમાન રીતે વિભાજિત કરી શકો છો, જેમ કે ચોક્કસ કૉલમ વર્ગો સાથે ..row.form-row.col.col-7
સ્વતઃ કદ બદલવાનું
નીચેનું ઉદાહરણ સામગ્રીને ઊભી રીતે કેન્દ્રમાં રાખવા માટે ફ્લેક્સબોક્સ યુટિલિટીનો ઉપયોગ કરે છે અને તેમાં ફેરફાર .colકરે છે .col-autoજેથી તમારી કૉલમ જરૂર હોય તેટલી જ જગ્યા લે. બીજી રીતે કહીએ તો, સમાવિષ્ટોના આધારે કૉલમનું કદ પોતે જ નક્કી કરે છે.
પછી તમે તેને કદ-વિશિષ્ટ કૉલમ વર્ગો સાથે ફરી એકવાર રિમિક્સ કરી શકો છો.
.form-inlineએક જ આડી પંક્તિ પર લેબલ્સ, ફોર્મ નિયંત્રણો અને બટનોની શ્રેણી પ્રદર્શિત કરવા માટે વર્ગનો ઉપયોગ કરો . ઇનલાઇન ફોર્મની અંદરના ફોર્મ નિયંત્રણો તેમની ડિફોલ્ટ સ્થિતિઓથી સહેજ બદલાય છે.
નિયંત્રણો છે , કોઈપણ HTML વ્હાઇટ સ્પેસને સંકુચિત કરે છે અને તમને અંતર અને ફ્લેક્સબોક્સ ઉપયોગિતાઓ display: flexસાથે સંરેખણ નિયંત્રણ પ્રદાન કરવાની મંજૂરી આપે છે .
નિયંત્રણો અને ઇનપુટ જૂથો width: autoબુટસ્ટ્રેપ ડિફોલ્ટને ઓવરરાઇડ કરવા માટે પ્રાપ્ત કરે છે width: 100%.
નિયંત્રણો ફક્ત મોબાઇલ ઉપકરણો પર સાંકડા વ્યૂપોર્ટ માટે એકાઉન્ટ કરવા માટે ઓછામાં ઓછા 576px પહોળા વ્યૂપોર્ટ્સમાં જ ઇનલાઇન દેખાય છે.
તમારે સ્પેસિંગ યુટિલિટીઝ (નીચે બતાવ્યા પ્રમાણે) સાથે વ્યક્તિગત ફોર્મ નિયંત્રણોની પહોળાઈ અને ગોઠવણીને મેન્યુઅલી સંબોધવાની જરૂર પડી શકે છે . છેલ્લે, દરેક ફોર્મ નિયંત્રણ સાથે હંમેશા એક શામેલ કરવાનું સુનિશ્ચિત કરો <label>, પછી ભલે તમારે તેને નોન-સ્ક્રીનરીડર મુલાકાતીઓથી છુપાવવાની જરૂર હોય .sr-only.
કસ્ટમ ફોર્મ નિયંત્રણો અને પસંદગીઓ પણ સપોર્ટેડ છે.
છુપાયેલા લેબલોના વિકલ્પો
જો તમે દરેક ઇનપુટ માટે લેબલ શામેલ ન કરો તો સ્ક્રીન રીડર જેવી સહાયક તકનીકોને તમારા ફોર્મમાં મુશ્કેલી પડશે. આ ઇનલાઇન સ્વરૂપો માટે, તમે .sr-onlyવર્ગનો ઉપયોગ કરીને લેબલ્સ છુપાવી શકો છો. સહાયક તકનીકો માટે લેબલ પ્રદાન કરવાની વધુ વૈકલ્પિક પદ્ધતિઓ છે, જેમ કે aria-label, aria-labelledbyઅથવા titleવિશેષતા. જો આમાંથી કોઈ હાજર ન હોય, તો સહાયક તકનીકો placeholderજો હાજર હોય તો વિશેષતાનો ઉપયોગ કરવાનો આશરો લઈ શકે છે, પરંતુ નોંધ લો કે placeholderઅન્ય લેબલીંગ પદ્ધતિઓ માટે રિપ્લેસમેન્ટ તરીકે ઉપયોગ કરવાની સલાહ આપવામાં આવતી નથી.
મદદ ટેક્સ્ટ
ફોર્મમાં બ્લોક-લેવલ હેલ્પ ટેક્સ્ટ .form-text(અગાઉ .help-blockv3 તરીકે ઓળખાતું હતું) નો ઉપયોગ કરીને બનાવી શકાય છે. ઇનલાઇન હેલ્પ ટેક્સ્ટ કોઈપણ ઇનલાઇન HTML ઘટક અને ઉપયોગિતા વર્ગો જેમ કે ઉપયોગ કરીને લવચીક રીતે અમલમાં મૂકી શકાય છે .text-muted.
ફોર્મ નિયંત્રણો સાથે સહાય ટેક્સ્ટને સાંકળવું
હેલ્પ ટેક્સ્ટ સ્પષ્ટપણે ફોર્મ કંટ્રોલ સાથે સંકળાયેલું હોવું જોઈએ જે તે લક્ષણનો ઉપયોગ કરવા સંબંધિત છે aria-describedby. આ સુનિશ્ચિત કરશે કે સહાયક તકનીકો - જેમ કે સ્ક્રીન રીડર્સ - જ્યારે વપરાશકર્તા ધ્યાન કેન્દ્રિત કરે છે અથવા નિયંત્રણમાં પ્રવેશ કરે છે ત્યારે આ સહાય ટેક્સ્ટની જાહેરાત કરશે.
ઇનપુટ નીચે હેલ્પ ટેક્સ્ટ સાથે સ્ટાઇલ કરી શકાય છે .form-text. આ વર્ગમાં display: blockઉપરના ઇનપુટ્સમાંથી સરળ અંતર માટે કેટલાક ટોચના માર્જિનનો સમાવેશ થાય છે અને ઉમેરે છે.
તમારો પાસવર્ડ 8-20 અક્ષરો લાંબો હોવો જોઈએ, તેમાં અક્ષરો અને સંખ્યાઓ હોવી જોઈએ અને તેમાં સ્પેસ, વિશિષ્ટ અક્ષરો અથવા ઈમોજી ન હોવા જોઈએ.
ઇનલાઇન ટેક્સ્ટ કોઈપણ લાક્ષણિક ઇનલાઇન HTML ઘટકનો ઉપયોગ કરી શકે છે (તે <small>, <span>, અથવા બીજું કંઈક) ઉપયોગિતા વર્ગ સિવાય બીજું કંઈ નથી.
અક્ષમ સ્વરૂપો
disabledવપરાશકર્તાની ક્રિયાપ્રતિક્રિયાઓને રોકવા અને તેને હળવા બનાવવા માટે ઇનપુટ પર બુલિયન વિશેષતા ઉમેરો .
અંદરના તમામ નિયંત્રણોને અક્ષમ disabledકરવા માટે a માં વિશેષતા ઉમેરો .<fieldset>
એન્કર સાથે ચેતવણી
ડિફૉલ્ટ રૂપે, બ્રાઉઝર્સ બધા મૂળ સ્વરૂપ નિયંત્રણો ( <input>, <select>અને <button>તત્વો) <fieldset disabled>ને અક્ષમ તરીકે વર્તે છે, તેમના પર કીબોર્ડ અને માઉસ બંને ક્રિયાપ્રતિક્રિયાઓને અટકાવશે. જો કે, જો તમારા ફોર્મમાં <a ... class="btn btn-*">ઘટકોનો પણ સમાવેશ થાય છે, તો તેને ફક્ત ની શૈલી આપવામાં આવશે pointer-events: none. બટનો માટે અક્ષમ સ્થિતિ વિશેના વિભાગમાં નોંધ્યું છે તેમ (અને ખાસ કરીને એન્કર તત્વો માટેના પેટા-વિભાગમાં), આ CSS ગુણધર્મ હજી પ્રમાણિત નથી અને ઈન્ટરનેટ એક્સપ્લોરર 10માં સંપૂર્ણ રીતે સમર્થિત નથી, અને તે કીબોર્ડ વપરાશકર્તાઓને અટકાવશે નહીં. આ લિંક્સને ફોકસ કરવા અથવા સક્રિય કરવામાં સક્ષમ. તેથી સુરક્ષિત રહેવા માટે, આવી લિંક્સને અક્ષમ કરવા માટે કસ્ટમ JavaScript નો ઉપયોગ કરો.
ક્રોસ બ્રાઉઝર સુસંગતતા
જ્યારે બુટસ્ટ્રેપ તમામ બ્રાઉઝર્સમાં આ શૈલીઓ લાગુ કરશે, ત્યારે ઇન્ટરનેટ એક્સપ્લોરર 11 અને નીચેના disabledએટ્રિબ્યુટને સંપૂર્ણપણે સપોર્ટ કરતું નથી <fieldset>. આ બ્રાઉઝર્સમાં ફીલ્ડસેટને અક્ષમ કરવા માટે કસ્ટમ JavaScript નો ઉપયોગ કરો.
માન્યતા
તમારા વપરાશકર્તાઓને HTML5 ફોર્મની માન્યતા સાથે મૂલ્યવાન, કાર્યવાહી કરવા યોગ્ય પ્રતિસાદ આપો- અમારા બધા સમર્થિત બ્રાઉઝર્સમાં ઉપલબ્ધ છે . બ્રાઉઝર ડિફૉલ્ટ માન્યતા પ્રતિસાદમાંથી પસંદ કરો અથવા અમારા બિલ્ટ-ઇન ક્લાસ અને સ્ટાર્ટર JavaScript સાથે કસ્ટમ સંદેશાઓનો અમલ કરો.
અમે હાલમાં કસ્ટમ માન્યતા શૈલીઓનો ઉપયોગ કરવાની ભલામણ કરીએ છીએ, કારણ કે મૂળ બ્રાઉઝર ડિફૉલ્ટ માન્યતા સંદેશાઓ સતત તમામ બ્રાઉઝર્સમાં સહાયક તકનીકો સાથે સંપર્કમાં આવતા નથી (સૌથી નોંધપાત્ર રીતે, ડેસ્કટૉપ અને મોબાઇલ પર Chrome).
તે કેવી રીતે કામ કરે છે
બુટસ્ટ્રેપ સાથે ફોર્મ માન્યતા કેવી રીતે કાર્ય કરે છે તે અહીં છે:
HTML ફોર્મ માન્યતા CSS ના બે સ્યુડો-ક્લાસ :invalidઅને :valid. તે , અને તત્વોને લાગુ પડે <input>છે .<select><textarea>
બુટસ્ટ્રેપ પેરેંટ ક્લાસ માટે સ્કોપ :invalidઅને :validશૈલીઓ .was-validated, સામાન્ય રીતે પર લાગુ થાય છે <form>. નહિંતર, મૂલ્ય વિનાનું કોઈપણ આવશ્યક ક્ષેત્ર પૃષ્ઠ લોડ પર અમાન્ય તરીકે દેખાય છે. આ રીતે, તમે તેમને ક્યારે સક્રિય કરવું તે પસંદ કરી શકો છો (સામાન્ય રીતે ફોર્મ સબમિટ કરવાનો પ્રયાસ કર્યા પછી).
ફોર્મના દેખાવને ફરીથી સેટ કરવા માટે (ઉદાહરણ તરીકે, AJAX નો ઉપયોગ કરીને ગતિશીલ ફોર્મ સબમિશનના કિસ્સામાં), સબમિશન પછી ફરીથી .was-validatedવર્ગમાંથી દૂર કરો.<form>
ફોલબેક તરીકે, .is-invalidઅને સર્વર બાજુની માન્યતા.is-valid માટે સ્યુડો-ક્લાસને બદલે વર્ગોનો ઉપયોગ થઈ શકે છે . તેમને પિતૃ વર્ગની જરૂર નથી ..was-validated
CSS કેવી રીતે કાર્ય કરે છે તેમાં અવરોધોને લીધે, અમે <label>કસ્ટમ JavaScript ની મદદ વિના DOM માં ફોર્મ કંટ્રોલ પહેલાં આવતી શૈલીઓને (હાલમાં) લાગુ કરી શકતા નથી.
બધા આધુનિક બ્રાઉઝર્સ કન્સ્ટ્રેંટ વેલિડેશન API ને સપોર્ટ કરે છે , જે ફોર્મ નિયંત્રણોને માન્ય કરવા માટે JavaScript પદ્ધતિઓની શ્રેણી છે.
પ્રતિસાદ સંદેશાઓ બ્રાઉઝર ડિફોલ્ટ્સ (દરેક બ્રાઉઝર માટે અલગ, અને CSS દ્વારા અસ્પષ્ટ) અથવા વધારાના HTML અને CSS સાથે અમારી કસ્ટમ ફીડબેક શૈલીઓનો ઉપયોગ કરી શકે છે.
setCustomValidityતમે JavaScript માં કસ્ટમ વેલિડિટી સંદેશાઓ આપી શકો છો .
તે ધ્યાનમાં રાખીને, અમારી કસ્ટમ ફોર્મ માન્યતા શૈલીઓ, વૈકલ્પિક સર્વર બાજુના વર્ગો અને બ્રાઉઝર ડિફોલ્ટ્સ માટે નીચેના ડેમોનો વિચાર કરો.
કસ્ટમ શૈલીઓ
novalidateકસ્ટમ બુટસ્ટ્રેપ ફોર્મ માન્યતા સંદેશાઓ માટે, તમારે તમારામાં બુલિયન વિશેષતા ઉમેરવાની જરૂર પડશે <form>. આ બ્રાઉઝર ડિફૉલ્ટ પ્રતિસાદ ટૂલટિપ્સને અક્ષમ કરે છે, પરંતુ હજુ પણ JavaScript માં ફોર્મ માન્યતા API ની ઍક્સેસ પ્રદાન કરે છે. નીચે આપેલ ફોર્મ સબમિટ કરવાનો પ્રયાસ કરો; અમારી JavaScript સબમિટ બટનને અટકાવશે અને તમને પ્રતિસાદ આપશે. સબમિટ કરવાનો પ્રયાસ કરતી વખતે, તમે તમારા ફોર્મ નિયંત્રણો પર લાગુ કરાયેલ :invalidઅને શૈલીઓ જોશો .:valid
વૈવિધ્યપૂર્ણ પ્રતિસાદ શૈલીઓ પ્રતિસાદને વધુ સારી રીતે સંચાર કરવા માટે કસ્ટમ રંગો, સરહદો, ફોકસ શૈલીઓ અને પૃષ્ઠભૂમિ ચિહ્નો લાગુ કરે છે. s માટે પૃષ્ઠભૂમિ ચિહ્નો <select>ફક્ત સાથે જ ઉપલબ્ધ છે .custom-select, અને નહીં .form-control.
બ્રાઉઝર ડિફોલ્ટ
કસ્ટમ માન્યતા પ્રતિસાદ સંદેશાઓ અથવા ફોર્મ વર્તણૂકો બદલવા માટે JavaScript લખવામાં રસ નથી? બધું સારું, તમે બ્રાઉઝર ડિફોલ્ટનો ઉપયોગ કરી શકો છો. નીચે આપેલ ફોર્મ સબમિટ કરવાનો પ્રયાસ કરો. તમારા બ્રાઉઝર અને OS પર આધાર રાખીને, તમે પ્રતિસાદની થોડી અલગ શૈલી જોશો.
જ્યારે આ પ્રતિસાદ શૈલીઓ CSS સાથે સ્ટાઈલ કરી શકાતી નથી, તેમ છતાં તમે JavaScript દ્વારા પ્રતિસાદ ટેક્સ્ટને કસ્ટમાઇઝ કરી શકો છો.
સર્વર બાજુ
અમે ક્લાયંટ-સાઇડ માન્યતાનો ઉપયોગ કરવાની ભલામણ કરીએ છીએ, પરંતુ જો તમને સર્વર-સાઇડ માન્યતાની જરૂર હોય, તો તમે અને સાથે અમાન્ય અને માન્ય ફોર્મ ફીલ્ડ સૂચવી શકો .is-invalidછો .is-valid. નોંધ કરો કે .invalid-feedbackઆ વર્ગો સાથે પણ સપોર્ટેડ છે.
આધારભૂત તત્વો
નીચેના ફોર્મ નિયંત્રણો અને ઘટકો માટે માન્યતા શૈલીઓ ઉપલબ્ધ છે:
<input>s અને <textarea>s સાથે .form-control( .form-controlઇનપુટ જૂથોમાં એક સુધીનો સમાવેશ થાય છે)
<select>s સાથે .form-controlઅથવા.custom-select
.form-checks
.custom-checkboxs અને .custom-radios
.custom-file
ટૂલટિપ્સ
જો તમારું ફોર્મ લેઆઉટ તેને મંજૂરી આપે છે, તો તમે સ્ટાઇલ કરેલ ટૂલટિપમાં માન્યતા પ્રતિસાદ પ્રદર્શિત કરવા .{valid|invalid}-feedbackમાટે વર્ગો માટે વર્ગોને સ્વેપ કરી શકો છો. ટૂલટિપ પોઝિશનિંગ માટે તેની .{valid|invalid}-tooltipસાથે માતાપિતા હોવાની ખાતરી કરો . position: relativeનીચેના ઉદાહરણમાં, અમારા કૉલમ વર્ગોમાં આ પહેલેથી જ છે, પરંતુ તમારા પ્રોજેક્ટને વૈકલ્પિક સેટઅપની જરૂર પડી શકે છે.
કસ્ટમાઇઝિંગ
માન્યતા સ્થિતિઓને $form-validation-statesનકશા સાથે સાસ દ્વારા કસ્ટમાઇઝ કરી શકાય છે. અમારી _variables.scssફાઈલમાં સ્થિત છે, આ Sass મેપ ડિફોલ્ટ valid/ invalidવેલીડેશન સ્ટેટ્સ જનરેટ કરવા માટે લૂપ છે. દરેક રાજ્યના રંગ અને ચિહ્નને કસ્ટમાઇઝ કરવા માટે નેસ્ટેડ નકશો શામેલ છે. જ્યારે અન્ય કોઈ રાજ્યો બ્રાઉઝર્સ દ્વારા સમર્થિત નથી, જેઓ કસ્ટમ શૈલીઓનો ઉપયોગ કરે છે તેઓ સરળતાથી વધુ જટિલ ફોર્મ પ્રતિસાદ ઉમેરી શકે છે.
મહેરબાની કરીને નોંધ કરો કે અમે form-validation-stateમિક્સિનમાં ફેરફાર કર્યા વિના આ મૂલ્યોને કસ્ટમાઇઝ કરવાની ભલામણ કરતા નથી.
કસ્ટમ સ્વરૂપો
વધુ કસ્ટમાઇઝેશન અને ક્રોસ બ્રાઉઝર સુસંગતતા માટે, બ્રાઉઝર ડિફોલ્ટ્સને બદલવા માટે અમારા સંપૂર્ણપણે કસ્ટમ ફોર્મ ઘટકોનો ઉપયોગ કરો. તે સિમેન્ટીક અને સુલભ માર્કઅપની ટોચ પર બનેલ છે, તેથી તે કોઈપણ ડિફોલ્ટ ફોર્મ નિયંત્રણ માટે નક્કર રિપ્લેસમેન્ટ છે.
ચેકબોક્સ અને રેડિયો
અમારું કસ્ટમ નિયંત્રણ બનાવવા માટે દરેક ચેકબોક્સ અને રેડિયો <input>અને <label>પેરિંગ a માં આવરિત છે . <div>માળખાકીય રીતે, આ આપણા ડિફોલ્ટ જેવો જ અભિગમ છે .form-check.
અમારા કસ્ટમ ફોર્મ સૂચકને યોગ્ય રીતે સ્ટાઈલ કરવા માટે અમે અમારા તમામ રાજ્યો માટે ભાઈ- બહેન પસંદગીકાર ( ~) નો ઉપયોગ કરીએ છીએ. જ્યારે વર્ગ સાથે જોડવામાં આવે છે , ત્યારે અમે દરેક આઇટમ માટે 'ની સ્થિતિના આધારે ટેક્સ્ટને સ્ટાઇલ પણ કરી શકીએ છીએ .<input>:checked.custom-control-label<input>
<input>અમે તેની સાથે ડિફોલ્ટ છુપાવીએ છીએ અને તેની જગ્યાએ અને સાથે નવા કસ્ટમ ફોર્મ સૂચક બનાવવા માટે opacityતેનો ઉપયોગ કરીએ છીએ . કમનસીબે અમે ફક્ત તેમાંથી કસ્ટમ બનાવી શકતા નથી કારણ કે CSS તે તત્વ પર કામ કરતું નથી..custom-control-label::before::after<input>content
ચકાસાયેલ રાજ્યોમાં, અમે Open Iconic માંથી base64 એમ્બેડેડ SVG ચિહ્નોનો ઉપયોગ કરીએ છીએ . આ અમને સમગ્ર બ્રાઉઝર્સ અને ઉપકરણો પર સ્ટાઇલ અને પોઝિશનિંગ માટે શ્રેષ્ઠ નિયંત્રણ પ્રદાન કરે છે.
ચેકબોક્સ
જ્યારે JavaScript દ્વારા મેન્યુઅલી સેટ કરવામાં આવે ત્યારે કસ્ટમ ચેકબોક્સ સ્યુડો ક્લાસનો પણ ઉપયોગ કરી શકે :indeterminateછે (તેને સ્પષ્ટ કરવા માટે કોઈ ઉપલબ્ધ HTML વિશેષતા નથી).
જો તમે jQuery નો ઉપયોગ કરી રહ્યાં છો, તો આના જેવું કંઈક પૂરતું હોવું જોઈએ:
રેડિયો
ઇનલાઇન
અક્ષમ
કસ્ટમ ચેકબોક્સ અને રેડિયો પણ અક્ષમ કરી શકાય છે. disabledમાં બુલિયન એટ્રિબ્યુટ ઉમેરો <input>અને કસ્ટમ સૂચક અને લેબલ વર્ણન આપોઆપ સ્ટાઇલ કરવામાં આવશે.
સ્વીચો
સ્વિચમાં કસ્ટમ ચેકબૉક્સનું માર્કઅપ હોય છે પરંતુ .custom-switchટૉગલ સ્વિચ રેન્ડર કરવા માટે ક્લાસનો ઉપયોગ કરે છે. સ્વિચ પણ disabledએટ્રિબ્યુટને સપોર્ટ કરે છે.
મેનુ પસંદ કરો
કસ્ટમ મેનુઓને કસ્ટમ શૈલીઓને ટ્રિગર કરવા માટે <select>માત્ર કસ્ટમ વર્ગની જરૂર છે. કસ્ટમ શૈલીઓ ના પ્રારંભિક દેખાવ .custom-selectસુધી મર્યાદિત છે અને બ્રાઉઝર મર્યાદાઓને કારણે s માં ફેરફાર કરી શકતી નથી.<select><option>
તમે અમારા સમાન કદના ટેક્સ્ટ ઇનપુટ્સને મેચ કરવા માટે નાના અને મોટા કસ્ટમ પસંદગીઓમાંથી પણ પસંદ કરી શકો છો.
multipleવિશેષતા પણ સમર્થિત છે :
જેમ કે sizeલક્ષણ છે:
શ્રેણી
સાથે કસ્ટમ <input type="range">નિયંત્રણો બનાવો .custom-range. ટ્રેક (બેકગ્રાઉન્ડ) અને અંગૂઠો (મૂલ્ય) બંને બ્રાઉઝર્સમાં સમાન દેખાવા માટે સ્ટાઈલ કરવામાં આવ્યા છે. માત્ર IE અને Firefox જ તેમના ટ્રેકને અંગૂઠાની ડાબી કે જમણી બાજુથી "ફિલિંગ" ને દૃષ્ટિની પ્રગતિ દર્શાવવાના સાધન તરીકે સપોર્ટ કરે છે, અમે હાલમાં તેને સમર્થન આપતા નથી.
શ્રેણી ઇનપુટ્સ અનુક્રમે minઅને max— 0અને માટે ગર્ભિત મૂલ્યો ધરાવે 100છે. minઅને maxવિશેષતાઓનો ઉપયોગ કરનારાઓ માટે તમે નવા મૂલ્યોનો ઉલ્લેખ કરી શકો છો .
મૂળભૂત રીતે, શ્રેણી ઇનપુટ પૂર્ણાંક મૂલ્યો માટે "સ્નેપ" કરે છે. આને બદલવા માટે, તમે stepમૂલ્યનો ઉલ્લેખ કરી શકો છો. નીચેના ઉદાહરણમાં, અમે ઉપયોગ કરીને પગલાંઓની સંખ્યા બમણી કરીએ છીએ step="0.5".
ફાઇલ બ્રાઉઝર
વૈવિધ્યપૂર્ણ ફાઇલ ઇનપુટને એનિમેટ કરવા માટે ભલામણ કરેલ પ્લગઇન: bs-custom-file-input , જેનો અમે હાલમાં અમારા દસ્તાવેજોમાં ઉપયોગ કરી રહ્યા છીએ.
ફાઇલ ઇનપુટ એ સમૂહમાં સૌથી વધુ ઝીણવટભર્યું છે અને જો તમે તેને કાર્યાત્મક ફાઇલ પસંદ કરો... અને પસંદ કરેલ ફાઇલ નામ ટેક્સ્ટ સાથે જોડવા માંગતા હોવ તો વધારાની JavaScriptની જરૂર છે .
અમે ડિફૉલ્ટ ફાઇલને <input>છુપાવીએ છીએ opacityઅને તેના બદલે સ્ટાઈલ કરીએ છીએ <label>. બટન જનરેટ અને સાથે સ્થિત થયેલ છે ::after. છેલ્લે, અમે આસપાસની સામગ્રી માટે યોગ્ય અંતર માટે a widthઅને heighton જાહેર કરીએ છીએ.<input>
SCSS વડે સ્ટ્રિંગ્સનું ભાષાંતર અથવા કસ્ટમાઇઝ કરવું
:lang()સ્યુડો-ક્લાસનો ઉપયોગ અન્ય ભાષાઓમાં "બ્રાઉઝ કરો" ટેક્સ્ટના અનુવાદ માટે પરવાનગી આપવા માટે થાય છે . સંબંધિત ભાષાના ટૅગ અને સ્થાનિક શબ્દમાળાઓ $custom-file-textસાથે Sass વેરીએબલમાં ઓવરરાઇડ કરો અથવા એન્ટ્રીઓ ઉમેરો . અંગ્રેજી શબ્દમાળાઓ એ જ રીતે કસ્ટમાઇઝ કરી શકાય છે. ઉદાહરણ તરીકે, સ્પેનિશ ભાષાંતર કેવી રીતે ઉમેરી શકાય તે અહીં છે (સ્પેનિશ ભાષાનો કોડ છે ):es
અહીં lang(es)સ્પેનિશ અનુવાદ માટે કસ્ટમ ફાઇલ ઇનપુટ પર ક્રિયામાં છે:
સાચો ટેક્સ્ટ બતાવવા માટે તમારે તમારા દસ્તાવેજની ભાષા (અથવા તેના સબટ્રી)ને યોગ્ય રીતે સેટ કરવાની જરૂર પડશે. આ એલિમેન્ટ પરના એટ્રિબ્યુટનો ઉપયોગ કરીને અથવા અન્ય langપદ્ધતિઓમાં HTTP હેડરનો ઉપયોગ કરીને કરી શકાય છે .<html>Content-Language
HTML સાથે શબ્દમાળાઓનું ભાષાંતર અથવા કસ્ટમાઇઝ કરવું
બુટસ્ટ્રેપ HTML માં "બ્રાઉઝ કરો" ટેક્સ્ટને data-browseએટ્રિબ્યુટ સાથે અનુવાદિત કરવાની રીત પણ પ્રદાન કરે છે જે કસ્ટમ ઇનપુટ લેબલમાં ઉમેરી શકાય છે (ડચમાં ઉદાહરણ):