본 내용은 인프런 장기효(캡틴판교)님의 Vue.js 끝장내기 - 실무에 필요한 모든 것 강의를 토대로 작성하였습니다.
1. validation
- 형식 검사
- 로그인, 회원가입 기능을 구현할 때, 사용자의 입력이 유효한지 검사하는 것
- ex) 이메일 회원 가입시 올바른 형식의 이메일을 입력했는지 확인
- 정규 표현식을 활용
2. E-mail Validation
2.1 정규 표현식으로 E-mail 유효성 검사
- 공통 모듈로 정의하여 여러 컴포넌트에 사용할 것이므로 src/utils에 파일 생성하여 validation 관련 함수 정의
// src/utils/validation.js
function validateEmail(inputEmail) {
const regex = /\S+@\S+\.\S+/;
return regex.test(inputEmail);
}
export { validateEmail };
2.2 컴포넌트에서 유효성 검사 함수 사용하여 버튼 disabled 적용하기
- 정의한 정규 표현식을 가져와, 유효한 이메일 형식이 아니면 버튼 비활성화 처리하기
<template>
<div>
<form @submit.prevent="submitForm">
<div>
<label for="username">id:</label>
<input id="username" type="text" v-model="username" />
</div>
<div>
<label for="password">pw:</label>
<input id="password" type="text" v-model="password" />
</div>
<!-- 유효한 이메일이 아닐 때 버튼 비활성화 -->
<button v-bind:disabled="!isUsernameValid" type="submit">
로그인
</button>
<p>{{ logMessage }}</p>
</form>
</div>
</template>
<script>
import { loginUser } from '@/api/index';
import { validateEmail } from '@/utils/validation';
export default {
...
// 입력받은 이메일 유효성 검사
computed: {
isUsernameValid() {
return validateEmail(this.username);
},
},
...
Reference
'programming study > Vue' 카테고리의 다른 글
Vue.js - Vuex(mutations, getters) (0) | 2022.05.15 |
---|---|
Vue.js - Vue Router, 컴포넌트 간 데이터 전달, Vuex (0) | 2022.04.21 |
Vue.js - 에러 핸들링 (0) | 2022.04.06 |
Vue.js - 실무 환경을 위한 프로젝트 설정 (0) | 2022.03.30 |
Vue.js - 이벤트 버블링, api 호출과 비동기 처리 (0) | 2022.03.28 |