Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

부트스트랩(Bootstrap) 유효성 검사 상태 완벽 가이드

부트스트랩(Bootstrap)은 폼 입력 요소의 상태를 시각적으로 표현할 수 있는 유효성 검사(validation) 스타일을 기본으로 제공합니다. 오류(error), 경고(warning), 성공(success) 세 가지 상태를 지원하며, 사용 방법도 매우 간단합니다. 부모 요소인 .form-group에 적절한 클래스만 추가하면 됩니다.

유효성 검사 상태 클래스 종류

부트스트랩에서 제공하는 유효성 검사 클래스는 다음과 같습니다.

  • .has-success — 입력이 정상적으로 완료되었을 때 초록색으로 표시됩니다.
  • .has-warning — 주의가 필요한 경고 상태일 때 노란색으로 표시됩니다.
  • .has-error — 입력값에 오류가 있을 때 빨간색으로 표시됩니다.

이 클래스들은 라벨(label), 입력 필드의 테두리, 텍스트 색상에 자동으로 적용되어 사용자가 폼의 상태를 직관적으로 인식할 수 있도록 도와줍니다.

예제 코드

아래 예제는 포커스된 입력 필드, 비활성화(disabled)된 입력 요소들과 함께 .has-success, .has-warning, .has-error 클래스를 실제로 적용한 전체 코드입니다. 코드를 복사해 실행하면 각 유효성 검사 상태가 어떻게 화면에 나타나는지 바로 확인할 수 있습니다.

<!DOCTYPE html>
<html>
   <head>
      <title>Bootstrap Example</title>
      <link href = "/bootstrap/css/bootstrap.min.css" rel = "stylesheet">
      <script src = "/scripts/jquery.min.js"></script>
      <script src = "/bootstrap/js/bootstrap.min.js"></script>
   </head>
   <body>
      <form class = "form-horizontal" role = "form">
         <div class = "form-group">
            <label class = "col-sm-2 control-label">Focused</label>
            <div class = "col-sm-10">
               <input class = "form-control" id = "focusedInput" type = "text" value = "This is focused...">
            </div>
         </div>
         <div class = "form-group">
            <label for = "inputPassword" class = "col-sm-2 control-label">Disabled</label>
            <div class = "col-sm-10">
               <input class = "form-control" id = "disabledInput" type = "text" placeholder = "Disabled input here..." disabled>
            </div>
         </div>
         <fieldset disabled>
            <div class = "form-group">
               <label for = "disabledTextInput" class = "col-sm-2 control-label">
                  Disabled input (Fieldset disabled)
               </label>
               <div class = "col-sm-10">
                  <input type = "text" id = "disabledTextInput" class = "form-control" placeholder = "Disabled input">
               </div>
            </div>
            <div class = "form-group">
               <label for = "disabledSelect" class = "col-sm-2 control-label">
                  Disabled select menu (Fieldset disabled)
               </label>
               <div class = "col-sm-10">
                  <select id = "disabledSelect" class = "form-control">
                     <option>Disabled select</option>
                   </select>
               </div>
            </div>
         </fieldset>
         <div class = "form-group has-success">
            <label class = "col-sm-2 control-label" for = "inputSuccess">
               Input with success
            </label>
            <div class = "col-sm-10">
               <input type = "text" class = "form-control" id = "inputSuccess">
            </div>
         </div>
         <div class = "form-group has-warning">
            <label class = "col-sm-2 control-label" for = "inputWarning">
               Input with warning
            </label>
            <div class = "col-sm-10">
               <input type = "text" class = "form-control" id = "inputWarning">
            </div>
         </div>
         <div class = "form-group has-error">
            <label class = "col-sm-2 control-label" for = "inputError">
               Input with error
            </label>
            <div class = "col-sm-10">
               <input type = "text" class = "form-control" id = "inputError">
            </div>
         </div>
      </form>
   </body>
</html>

코드 설명

예제 코드의 핵심 부분을 살펴보면 다음과 같습니다.

1. 성공 상태 (.has-success)

<div class="form-group has-success">처럼 form-grouphas-success 클래스를 추가하면 해당 그룹 안의 라벨과 입력 필드가 초록색으로 강조됩니다. 이메일 형식이 올바르거나 아이디 중복 확인이 통과된 경우 등에 활용하기 좋습니다.

2. 경고 상태 (.has-warning)

has-warning 클래스는 노란색 계열로 표시되며, 비밀번호가 너무 짧거나 입력값이 권장 조건을 충족하지 못하는 경우처럼 '주의'가 필요한 상황을 알릴 때 사용합니다.

3. 오류 상태 (.has-error)

has-error 클래스는 빨간색으로 표시됩니다. 필수 항목이 비어 있거나 잘못된 값을 입력했을 때 사용자에게 오류를 명확하게 전달할 수 있습니다.

4. 참고: 피드백 아이콘 추가하기

여기에 has-feedback 클래스와 글리피콘(Glyphicon)을 함께 사용하면 입력 필드 우측에 체크 표시, 느낌표 등의 아이콘을 추가하여 유효성 검사 상태를 더욱 직관적으로 표현할 수 있습니다.

마무리

부트스트랩의 유효성 검사 상태 클래스를 활용하면 별도의 CSS 작성 없이도 일관된 디자인의 폼 검증 UI를 손쉽게 구축할 수 있습니다. 위 예제 코드를 응용해 회원가입 폼, 로그인 폼 등 다양한 상황에 적용해 보시기 바랍니다.