Coach부분은 잘 구현했다.
이제 Requests로 넘어가보자.
form요소를 만들어보자.
그리고 이 양식에는 두 개의 입력값을 제공하자.
1/ 코치가 유저에게 연락할 방법을 알려주기위한 유저 이메일주소(email)
2/ 코치에게 전할 메시지 적는 곳(message)
<template>
<form @submit.prevent="submitForm">
<div class="form-control">
<label for="email">Your E-Mail</label>
<input type="email" id="email" />
</div>
<div class="form-control">
<label for="message">Message</label>
<textarea rows="5" id="message" />
</div>
<div class="actions">
<base-button>Send Message</base-button>
</div>
</form>
</template>
email과 message에 대한 입력값을 가져와야한다.
유효성 검사도 추가하자. 유효성 검사 자체는 있는 편이 좋다.
methods: {
submitForm() {
console.log('this.$route', this.$route.params.id);
this.formIsValid = true;
if (this.email === '' || !this.email.includes('@') || this.message === '') {
this.formIsValid = false;
return; // 반환하여 나머지 메서드가 실행되지 않도록!
}
},
},
input과 textarea를 양방향 바인딩으로 email, message에 바인딩해서 키가 입력될 때마다 업데이트되도록 해보자.
<template>
<form @submit.prevent="submitForm">
<div class="form-control">
<label for="email">Your E-Mail</label>
<input type="email" id="email" v-model.trim="email" />
</div>
<div class="form-control">
<label for="message">Message</label>
<textarea rows="5" id="message" v-model.trim="message" />
</div>
<p class="errors" v-if="!formIsValid">
Please enter a valid email and non-empty message.
</p>
<div class="actions">
<base-button>Send Message</base-button>
</div>
</form>
</template>
CoachRegistration에서 한 것 보다는 덜 복잡한 유효성 검사.
하지만 이 역시도 유효성 검사에 충분하다.
코치가 받은 모든 request들은 "Requests" 페이지에 표시되어야 한다.
request들이 Vuex로 관리하게 될 또 다른 데이터 조각이다.
** 출처: 모든 내용은 Udemy Vue-완벽가이드 강의를 기반으로 작성하였습니다.
'Vue.js' 카테고리의 다른 글
[Udemy Vue 완벽가이드 Section16] 250. 수신 요청(메시지) 출력하기 (0) | 2023.12.13 |
---|---|
[Udemy Vue 완벽가이드 Section16] 249. Vuex로 요청(메시지) 저장하기 (0) | 2023.12.13 |
[Udemy Vue 완벽가이드 Section16] 247. 양식 유효성 검사 추가하기 (0) | 2023.12.13 |
[Udemy Vue 완벽가이드 Section16] 246. Vuex에 코치 추가하기 (0) | 2023.12.12 |
[Udemy Vue 완벽가이드 Section16] 245. 코치 등록하기:양식 (0) | 2023.12.12 |