﻿1
00:00:01,060 --> 00:00:03,440
‫Instruktur: Jadi, Mongoose menawarkan pengembang

2
00:00:03,440 --> 00:00:05,823
‫cara yang sangat kuat untuk memvalidasi

3
00:00:05,823 --> 00:00:08,280
‫data yang masuk ke model kami.

4
00:00:08,280 --> 00:00:10,430
‫Jadi, dalam video ini Anda

5
00:00:10,430 --> 00:00:13,093
‫akan mempelajari semua tentang validasi data dengan Mongoose.

6
00:00:14,870 --> 00:00:18,110
‫Sekarang, apa sebenarnya yang dimaksud dengan validasi?

7
00:00:18,110 --> 00:00:21,470
‫Nah, validasi pada dasarnya memeriksa apakah nilai yang dimasukkan

8
00:00:21,470 --> 00:00:24,270
‫berada dalam format yang tepat untuk setiap

9
00:00:24,270 --> 00:00:27,430
‫bidang dalam skema dokumen kita, dan juga bahwa

10
00:00:27,430 --> 00:00:30,860
‫nilai tersebut benar-benar telah dimasukkan untuk semua bidang yang diperlukan.

11
00:00:30,860 --> 00:00:33,940
‫Sekarang, di sisi lain, kami juga memiliki sanitasi,

12
00:00:33,940 --> 00:00:37,240
‫yaitu untuk memastikan bahwa data yang dimasukkan pada dasarnya

13
00:00:37,240 --> 00:00:40,250
‫bersih, sehingga tidak ada kode berbahaya yang disuntikkan

14
00:00:40,250 --> 00:00:42,240
‫ke database kami, atau

15
00:00:42,240 --> 00:00:44,330
‫ke dalam aplikasi itu sendiri.

16
00:00:44,330 --> 00:00:47,470
‫Jadi, pada langkah itu kita menghapus karakter yang

17
00:00:47,470 --> 00:00:50,730
‫tidak diinginkan, atau bahkan kode, dari data input, oke?

18
00:00:50,730 --> 00:00:53,210
‫Dan ini sebenarnya adalah langkah

19
00:00:53,210 --> 00:00:56,180
‫penting, seperti, standar emas dalam pengembangan back-end.

20
00:00:56,180 --> 00:00:58,690
‫Untuk tidak pernah menerima data input yang

21
00:00:58,690 --> 00:01:00,690
‫berasal dari pengguna apa adanya.

22
00:01:00,690 --> 00:01:03,860
‫Jadi, kita harus selalu membersihkan data yang masuk itu.

23
00:01:03,860 --> 00:01:06,350
‫Tapi, bagaimanapun, saya akan meninggalkan sanitasi

24
00:01:06,350 --> 00:01:08,620
‫data untuk bagian keamanan kursus,

25
00:01:08,620 --> 00:01:10,070
‫sehingga dalam kuliah

26
00:01:10,070 --> 00:01:13,400
‫ini kita bisa fokus sepenuhnya pada validasi data.

27
00:01:13,400 --> 00:01:15,430
‫Dan kami melakukan validasi data ini

28
00:01:15,430 --> 00:01:17,240
‫di sini pada model.

29
00:01:17,240 --> 00:01:20,130
‫Dan itu, sekali lagi, karena filosofi model

30
00:01:20,130 --> 00:01:22,110
‫gemuk dan pengontrol

31
00:01:22,110 --> 00:01:24,230
‫tipis, yang menjadikan model tempat

32
00:01:24,230 --> 00:01:26,770
‫yang sempurna untuk melakukan validasi, bukan?

33
00:01:26,770 --> 00:01:29,540
‫Dan, faktanya, Mongoose sudah dilengkapi dengan banyak

34
00:01:29,540 --> 00:01:32,230
‫alat validasi di luar kotak.

35
00:01:32,230 --> 00:01:36,120
‫Jadi, sekarang mari kita lakukan validasi data di sini.

36
00:01:36,120 --> 00:01:37,680
‫Dan sebenarnya, kami sudah melakukannya.

37
00:01:37,680 --> 00:01:41,850
‫Jadi, ketika kami menggunakan persyaratan ini di sini, itu

38
00:01:41,850 --> 00:01:45,290
‫sebenarnya sudah menjadi validator data bawaan, oke?

39
00:01:45,290 --> 00:01:48,368
‫Jadi Anda melihat bahwa kami menggunakan validator seperti yang

40
00:01:48,368 --> 00:01:50,970
‫diperlukan di sini dalam opsi jenis skema.

41
00:01:50,970 --> 00:01:54,340
‫Dan diperlukan sebenarnya tersedia untuk semua tipe data.

42
00:01:54,340 --> 00:01:56,870
‫Jadi, bukan hanya string, tapi benar-benar segalanya.

43
00:01:56,870 --> 00:02:00,010
‫Angka, Boolean, tanggal, atau benar-benar, jenis apa

44
00:02:00,010 --> 00:02:01,930
‫pun yang Anda gunakan.

45
00:02:01,930 --> 00:02:04,970
‫Kemudian kami juga memiliki keunikan di sini,

46
00:02:04,970 --> 00:02:08,610
‫tetapi harap dicatat, bahwa ini sebenarnya, secara teknis, bukan validator.

47
00:02:08,610 --> 00:02:10,170
‫Itu masih akan

48
00:02:10,170 --> 00:02:12,080
‫menghasilkan kesalahan ketika kita memiliki

49
00:02:12,080 --> 00:02:15,167
‫nama duplikat, tetapi sekali lagi, ini bukan validator, oke?

50
00:02:15,167 --> 00:02:17,790
‫Tapi, yang dibutuhkan adalah validator, jadi saya

51
00:02:17,790 --> 00:02:20,403
‫akan menunjukkan kepada Anda sekarang satu

52
00:02:20,403 --> 00:02:23,000
‫lagi yang khusus hanya untuk

53
00:02:23,000 --> 00:02:26,870
‫string, yang disebut max length dan juga min length.

54
00:02:26,870 --> 00:02:28,160
‫Jadi, kami memiliki

55
00:02:30,320 --> 00:02:32,830
‫panjang maksimum dan seperti namanya, kami menggunakan ini

56
00:02:32,830 --> 00:02:35,470
‫untuk menentukan panjang maksimum yang dapat dimiliki sebuah string.

57
00:02:35,470 --> 00:02:37,490
‫Dan jika lebih lama dari

58
00:02:37,490 --> 00:02:39,800
‫itu, ya, itu akan menghasilkan kesalahan, oke?

59
00:02:39,800 --> 00:02:42,936
‫Jadi, mari kita lakukan seperti yang kita lakukan

60
00:02:42,936 --> 00:02:47,170
‫sebelumnya dengan diperlukan, di mana kita menentukan sebuah array, dan kemudian menetapkan nilainya.

61
00:02:47,170 --> 00:02:50,940
‫Jadi, katakanlah kita menginginkan 40 sebagai panjang string maksimum,

62
00:02:50,940 --> 00:02:53,920
‫dan kemudian, kita menambahkan kesalahan setelah itu.

63
00:02:53,920 --> 00:02:56,850
‫Jadi, pada dasarnya, pesan kesalahan yang kita dapatkan.

64
00:02:56,850 --> 00:03:01,093
‫Jadi, nama tur harus memiliki kurang atau

65
00:03:05,410 --> 00:03:08,693
‫sama dengan 40 karakter.

66
00:03:10,880 --> 00:03:13,320
‫Oke, jadi, itu panjang maksimalnya, dan

67
00:03:13,320 --> 00:03:15,673
‫kita juga punya panjang min.

68
00:03:18,600 --> 00:03:22,480
‫Baiklah, jadi mari kita atur satu menjadi 10,

69
00:03:22,480 --> 00:03:27,480
‫jadi nama tur harus memiliki lebih atau sama dengan 10 karakter.

70
00:03:29,010 --> 00:03:33,590
‫Oke, jadi seperti ini kita punya dua validator yang

71
00:03:33,590 --> 00:03:37,320
‫sebenarnya hanya tersedia di string, oke?

72
00:03:37,320 --> 00:03:40,690
‫Dan, jadi sekarang mari kita lanjutkan dan coba itu.

73
00:03:40,690 --> 00:03:42,690
‫Jadi, saya akan membuat tur baru di sini.

74
00:03:44,570 --> 00:03:46,453
‫Dan, ini bukan tur rahasia,

75
00:03:48,050 --> 00:03:50,183
‫tapi kemudian di sini sisanya tidak masalah.

76
00:03:53,550 --> 00:03:56,100
‫Saya sebut saja Test Tour ini, dan mari kita

77
00:03:56,100 --> 00:03:58,160
‫lihat berapa banyak karakter yang kita miliki,

78
00:03:58,160 --> 00:04:00,280
‫jadi empat tambah satu, tambah empat, jadi

79
00:04:00,280 --> 00:04:02,130
‫kita hanya memiliki sembilan karakter.

80
00:04:02,130 --> 00:04:05,223
‫Jadi, kita sekarang harus berharap untuk benar-benar mendapatkan kesalahan.

81
00:04:06,490 --> 00:04:07,980
‫Jadi, mari kita coba.

82
00:04:07,980 --> 00:04:09,910
‫Dan, memang, nama tur harus

83
00:04:09,910 --> 00:04:12,460
‫memiliki lebih dari atau sama dengan 10 karakter.

84
00:04:12,460 --> 00:04:15,873
‫Bagus, tapi sekarang bagaimana dengan memperbarui tur?

85
00:04:17,290 --> 00:04:19,860
‫Jadi, mari kita dapatkan salah satunya di sini.

86
00:04:19,860 --> 00:04:23,910
‫Jadi, kami memiliki tur uji dua di sini, jadi mari

87
00:04:23,910 --> 00:04:25,963
‫kita coba perbarui yang ini.

88
00:04:27,540 --> 00:04:30,173
‫Jadi, kami pergi ke rute tur pembaruan kami.

89
00:04:33,690 --> 00:04:38,023
‫Dan sekarang mari kita di sini, ubah nama menjadi Test, kirim

90
00:04:39,890 --> 00:04:43,240
‫permintaan, dan, kita mendapatkan kesalahan yang sama.

91
00:04:43,240 --> 00:04:45,540
‫Sekarang, ini hanya berfungsi karena

92
00:04:45,540 --> 00:04:47,400
‫pengaturan yang kami atur

93
00:04:47,400 --> 00:04:50,600
‫kembali, ketika kami menerapkan penangan pembaruan ini.

94
00:04:50,600 --> 00:04:53,853
‫Jadi, izinkan saya segera menunjukkannya kepada Anda di pengontrol tur.

95
00:04:54,860 --> 00:04:57,846
‫Hapus dan perbarui, dan karena opsi

96
00:04:57,846 --> 00:05:00,255
‫ini jalankanValidators, setel ke

97
00:05:00,255 --> 00:05:03,180
‫true sehingga validator dijalankan lagi.

98
00:05:03,180 --> 00:05:04,959
‫Jika saya mengaturnya sekarang

99
00:05:04,959 --> 00:05:09,750
‫ke false, maka Luwak harus dengan senang hati menerima nama ini.

100
00:05:09,750 --> 00:05:12,673
‫Dan memang, itu benar, baiklah.

101
00:05:14,880 --> 00:05:17,072
‫Jadi, mari kita kembalikan ke sesuatu

102
00:05:17,072 --> 00:05:18,453
‫yang lebih

103
00:05:20,630 --> 00:05:24,073
‫lama, tidak masalah, oke, dan jika saya mengembalikannya

104
00:05:26,950 --> 00:05:29,070
‫ke true, maka itu tidak

105
00:05:29,070 --> 00:05:33,140
‫boleh menerimanya, dan memang, kita mendapatkan kesalahan kita kembali, oke?

106
00:05:33,140 --> 00:05:34,540
‫Jadi, hanya ingin

107
00:05:34,540 --> 00:05:36,763
‫cepat menunjukkan fakta pengaturan itu.

108
00:05:38,820 --> 00:05:42,370
‫Baiklah, dan, ya, ini sekarang berfungsi.

109
00:05:42,370 --> 00:05:46,030
‫Mari kita coba beberapa validator lainnya di sini.

110
00:05:46,030 --> 00:05:48,450
‫Misalnya, sekarang tentang angka.

111
00:05:48,450 --> 00:05:51,520
‫Jadi, mari kita pergi ke sini untuk peringkat rata-rata.

112
00:05:51,520 --> 00:05:53,370
‫Dan kita tahu bahwa

113
00:05:53,370 --> 00:05:57,330
‫peringkat harus selalu antara satu dan nol, dan kita tahu

114
00:05:57,330 --> 00:06:00,880
‫bahwa peringkat harus selalu antara satu dan lima, oke?

115
00:06:00,880 --> 00:06:03,680
‫Jadi, sangat mirip dengan panjang min dan maks, pada

116
00:06:03,680 --> 00:06:06,253
‫angka kami hanya memiliki min dan maks.

117
00:06:08,350 --> 00:06:11,353
‫Jadi, minimum yang kita inginkan adalah satu, dan

118
00:06:15,240 --> 00:06:17,253
‫sekali lagi pesan kesalahan kita.

119
00:06:18,280 --> 00:06:23,280
‫Jadi, peringkat harus di atas 1. 0, katakanlah.

120
00:06:26,360 --> 00:06:29,643
‫Dan kemudian maksimal adalah lima.

121
00:06:34,040 --> 00:06:38,660
‫Harus di bawah 5. 0, oke, dan mari kita

122
00:06:38,660 --> 00:06:40,873
‫uji yang ini juga.

123
00:06:43,300 --> 00:06:48,300
‫Jadi, membuat tur baru, sebut saja Tur Uji

124
00:06:49,390 --> 00:06:53,933
‫Menakjubkan karena memiliki peringkat rata-rata enam.

125
00:06:55,020 --> 00:06:57,680
‫Oke, jadi mari kita lihat apa yang

126
00:06:57,680 --> 00:07:00,380
‫terjadi kemudian, dan memang, peringkatnya harus di bawah lima.

127
00:07:00,380 --> 00:07:03,620
‫Oke, jadi, itu lagi-lagi tidak akan

128
00:07:03,620 --> 00:07:06,930
‫berhasil, dan tentu saja tidak boleh nol juga.

129
00:07:06,930 --> 00:07:10,130
‫Jadi, itu harus di atas satu, dan

130
00:07:10,130 --> 00:07:14,650
‫tentu saja, dengan empat, itu akan berhasil, dan memang, inilah tur kami.

131
00:07:14,650 --> 00:07:18,180
‫Selanjutnya, saya ingin membatasi nilai kesulitan ini di

132
00:07:18,180 --> 00:07:20,090
‫sini hanya tiga kesulitan.

133
00:07:20,090 --> 00:07:22,480
‫Jadi, mudah, sedang, dan sulit.

134
00:07:22,480 --> 00:07:24,660
‫Dan jika pengguna memasukkan sesuatu yang lain,

135
00:07:24,660 --> 00:07:26,360
‫maka itu tidak akan berhasil.

136
00:07:26,360 --> 00:07:27,623
‫Jadi, mari kita coba.

137
00:07:32,660 --> 00:07:36,420
‫Jadi, validator yang kita gunakan untuk itu disebut enum, oke, jadi,

138
00:07:36,420 --> 00:07:38,850
‫di sini kita bisa melewatkan sebuah

139
00:07:38,850 --> 00:07:41,403
‫array dari nilai-nilai yang pada dasarnya diperbolehkan.

140
00:07:42,570 --> 00:07:47,570
‫Jadi, ada yang mudah, ada yang sedang, dan ada yang sulit.

141
00:07:49,550 --> 00:07:53,380
‫Baiklah, sekarang kami juga ingin menentukan pesan kesalahan kami

142
00:07:53,380 --> 00:07:56,870
‫di sini, tetapi sekarang itu tidak mungkin, kan?

143
00:07:56,870 --> 00:07:59,490
‫Maksud saya, jika kita menambahkan argumen lain

144
00:07:59,490 --> 00:08:01,330
‫di sini, maka itu

145
00:08:01,330 --> 00:08:05,540
‫bukan untuk pesan kesalahan, tentu saja untuk nilai lain yang mungkin, oke?

146
00:08:05,540 --> 00:08:08,200
‫Jadi, solusi yang perlu kita

147
00:08:08,200 --> 00:08:10,993
‫lakukan di sini, adalah membuat objek lain

148
00:08:11,900 --> 00:08:15,613
‫di sini, dan kemudian, benar-benar menentukan bahwa inilah nilainya.

149
00:08:18,870 --> 00:08:23,560
‫Dan kemudian, pesan kami, oke?

150
00:08:23,560 --> 00:08:26,230
‫Jadi, ini sebenarnya cara kerjanya.

151
00:08:26,230 --> 00:08:29,040
‫Notasi ini sebenarnya hanya

152
00:08:29,040 --> 00:08:32,763
‫singkatan untuk objek lengkap di sini, oke?

153
00:08:34,760 --> 00:08:39,760
‫Jadi, kesulitannya adalah: mudah, sedang, atau sulit.

154
00:08:45,280 --> 00:08:50,280
‫Oke, jadi, itu adalah validator yang sangat bagus, sangat berguna yang secara otomatis

155
00:08:50,323 --> 00:08:53,870
‫tersedia di semua string, oke, jadi, jangan coba gunakan

156
00:08:53,870 --> 00:08:57,348
‫yang ini di sini pada angka, misalnya.

157
00:08:57,348 --> 00:08:59,870
‫Ini hanya untuk string.

158
00:08:59,870 --> 00:09:02,540
‫Dan, omong-omong, min dan max ini

159
00:09:02,540 --> 00:09:04,450
‫sebenarnya tidak hanya untuk

160
00:09:04,450 --> 00:09:07,820
‫angka, tapi juga akan bekerja dengan tanggal, oke?

161
00:09:07,820 --> 00:09:12,820
‫Bagaimanapun, sekarang mari kita uji ini juga.

162
00:09:13,180 --> 00:09:15,399
‫Jadi, kita perlu mengubah namanya, dan di

163
00:09:15,399 --> 00:09:17,249
‫sini mari kita masukkan sesuatu

164
00:09:20,460 --> 00:09:23,233
‫yang lain, baiklah, dan memang, kita mendapatkan kesalahan kita.

165
00:09:24,770 --> 00:09:28,080
‫Jika sekarang kita meletakkannya dengan mudah, maka itu berhasil.

166
00:09:28,080 --> 00:09:30,450
‫Oke, dan hanya itu yang ingin saya

167
00:09:30,450 --> 00:09:31,780
‫tunjukkan kepada Anda

168
00:09:31,780 --> 00:09:35,110
‫di kuliah ini, tetapi sebenarnya ada banyak validator lain.

169
00:09:35,110 --> 00:09:38,259
‫Misalnya, pada string Anda memiliki validator kecocokan

170
00:09:38,259 --> 00:09:40,370
‫untuk memeriksa apakah input

171
00:09:40,370 --> 00:09:43,090
‫cocok dengan ekspresi reguler yang diberikan.

172
00:09:43,090 --> 00:09:46,460
‫Tapi, saya percaya bahwa yang baru saja saya tunjukkan di

173
00:09:46,460 --> 00:09:49,250
‫sini adalah validator bawaan yang paling penting.

174
00:09:49,250 --> 00:09:51,450
‫Dan, untuk daftar lengkap semuanya,

175
00:09:51,450 --> 00:09:54,530
‫tentu saja, Anda selalu dapat melihat dokumentasinya.

176
00:09:54,530 --> 00:09:57,590
‫Sekarang kita juga dapat menentukan validator kita sendiri, dan

177
00:09:57,590 --> 00:09:59,790
‫itulah yang akan kita lakukan dengan

178
00:09:59,790 --> 00:10:01,363
‫benar di video berikutnya.

