인프런 커뮤니티 질문&답변
답변 4
0
0
0
vnzl-456
질문자
<template>
<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 :disabled="!isUsernameValid || !password" type="submit">
로그인
</button>
<p>{{ logMessage }}</p>
</form>
</template>
<script>
import { loginUser } from '@/api/index';
import { validateEmail } from '@/utils/validation.js';
export default {
data() {
return {
// form values
username: '',
password: '',
// log
logMessage: '',
};
},
computed: {
isUsernameValid() {
return validateEmail(this.username);
},
},
methods: {
async submitForm() {
try {
//비지니스 로직
const userData = {
username: this.username,
password: this.password,
};
const { data } = await loginUser(userData);
console.log(data.user.username);
this.logMessage = `${data.user.username} 님 환영합니다🤩`;
//this.initForm();
} catch (error) {
// 에러 핸들링 코드
// alert(error.response.data);
this.logMessage = error.response.data;
//this.initForm();
} finally {
this.initForm();
}
},
initForm() {
this.username = '';
this.password = '';
},
},
};
</script>
<style></style>
0






.