﻿1
00:00:01,010 --> 00:00:02,650
‫Instruktur Pria: Terakhir, sekarang

2
00:00:02,650 --> 00:00:05,053
‫mari kita tangani kesalahan validasi Mongoose.

3
00:00:06,630 --> 00:00:09,750
‫Jadi ingat bagaimana kami mencoba memperbarui tur dengan beberapa data

4
00:00:09,750 --> 00:00:11,410
‫yang tidak valid di

5
00:00:11,410 --> 00:00:13,890
‫sini, dan kemudian mendapatkan kesalahan semacam ini?

6
00:00:13,890 --> 00:00:15,160
‫Oke.

7
00:00:15,160 --> 00:00:17,923
‫Dan mari kita coba menambahkan yang lain.

8
00:00:19,890 --> 00:00:24,350
‫Jadi nama yang sangat pendek, oke?

9
00:00:24,350 --> 00:00:27,410
‫Dan karena itu tidak diperbolehkan, lagi.

10
00:00:27,410 --> 00:00:30,680
‫Oh dan sekarang kami sebenarnya tidak lagi dapat melihat kesalahan

11
00:00:30,680 --> 00:00:33,000
‫kami karena kami sekarang dalam produksi.

12
00:00:33,000 --> 00:00:34,750
‫Dan tentu saja kesalahan ini sekarang

13
00:00:34,750 --> 00:00:36,370
‫tidak ditangani dengan benar.

14
00:00:36,370 --> 00:00:38,730
‫Itu tidak ditandai sebagai operasional.

15
00:00:38,730 --> 00:00:39,580
‫Oleh karena

16
00:00:39,580 --> 00:00:44,020
‫itu, ingatlah bahwa kita mendapatkan kembali pesan kesalahan umum semacam ini.

17
00:00:44,020 --> 00:00:45,040
‫Oke?

18
00:00:45,040 --> 00:00:49,530
‫Jadi hanya untuk melihat kesalahan yang kita miliki sebelumnya, mari

19
00:00:49,530 --> 00:00:52,263
‫kita cepat beralih kembali ke pengembangan.

20
00:00:53,810 --> 00:00:55,253
‫Jadi npm mulai.

21
00:00:58,950 --> 00:01:00,610
‫Dan, kirim sekarang

22
00:01:00,610 --> 00:01:01,810
‫lagi.

23
00:01:01,810 --> 00:01:05,220
‫Dan sekarang kami mendapatkan kembali kesalahan pengembangan kami, oke?

24
00:01:05,220 --> 00:01:06,590
‫Karena sekarang saya

25
00:01:06,590 --> 00:01:10,410
‫ingin menunjukkan kepada Anda bagaimana sebenarnya kami dapat membuat pesan kesalahan yang

26
00:01:10,410 --> 00:01:13,590
‫berarti berdasarkan semua ini, apa yang kami miliki di sini.

27
00:01:13,590 --> 00:01:14,670
‫Sekarang benar.

28
00:01:14,670 --> 00:01:16,690
‫Jadi di dalam

29
00:01:16,690 --> 00:01:19,280
‫kesalahan kami, kami mendapatkan properti kesalahan.

30
00:01:19,280 --> 00:01:21,800
‫Dan properti itu sendiri adalah

31
00:01:21,800 --> 00:01:24,540
‫objek yang memiliki banyak objek di sana,

32
00:01:24,540 --> 00:01:28,770
‫dan masing-masing adalah untuk salah satu bidang yang memiliki kesalahan.

33
00:01:28,770 --> 00:01:29,790
‫Baiklah?

34
00:01:29,790 --> 00:01:33,760
‫Jadi yang pertama di sini adalah untuk durasi tur.

35
00:01:33,760 --> 00:01:35,760
‫Kemudian yang kedua untuk kesulitan,

36
00:01:35,760 --> 00:01:37,310
‫itu juga salah.

37
00:01:37,310 --> 00:01:40,400
‫Dan yang ketiga untuk rating, oke?

38
00:01:40,400 --> 00:01:44,520
‫Jadi masing-masing sebenarnya memiliki pesan kesalahan yang bagus, oke?

39
00:01:44,520 --> 00:01:48,210
‫Jadi pada dasarnya yang kami definisikan dalam skema Mongoose kami.

40
00:01:48,210 --> 00:01:50,480
‫Jadi sekarang kita ingin mengekstrak

41
00:01:50,480 --> 00:01:52,490
‫ketiga pesan ini dari

42
00:01:52,490 --> 00:01:55,920
‫sini, dan memasukkan semuanya ke dalam satu string, oke?

43
00:01:55,920 --> 00:01:58,593
‫Jadi mari kita lanjutkan dan lakukan itu.

44
00:01:59,720 --> 00:02:00,553
‫Oke.

45
00:02:00,553 --> 00:02:01,740
‫Dan lagi,

46
00:02:01,740 --> 00:02:05,363
‫saya akan mulai dengan membuat kondisi di sini.

47
00:02:06,720 --> 00:02:07,553
‫Jadi jika

48
00:02:09,210 --> 00:02:10,760
‫(kesalahan), dan sebenarnya mari kita lihat.

49
00:02:12,270 --> 00:02:14,290
‫Jadi di sini kita memiliki kesalahan.

50
00:02:14,290 --> 00:02:16,413
‫Kami memiliki kesalahan, semuanya.

51
00:02:17,510 --> 00:02:19,840
‫Dan saya perlu menggulir di sini.

52
00:02:19,840 --> 00:02:22,320
‫Dan ya, jadi inilah namanya.

53
00:02:22,320 --> 00:02:26,300
‫Jadi kesalahan. namanya ValidationError, oke?

54
00:02:26,300 --> 00:02:27,453
‫Jadi mari kita ambil itu.

55
00:02:32,150 --> 00:02:32,983
‫Oke.

56
00:02:32,983 --> 00:02:36,010
‫Dan ini lagi, adalah kesalahan yang dibuat oleh Mongoose.

57
00:02:36,010 --> 00:02:37,440
‫Jadi seperti yang

58
00:02:37,440 --> 00:02:40,023
‫pertama, dan mereka terlihat mirip, oke.

59
00:02:41,150 --> 00:02:42,553
‫Sekarang saya tidak ingin ini di sini.

60
00:02:43,400 --> 00:02:45,410
‫Tetapi sebaliknya

61
00:02:45,410 --> 00:02:48,863
‫saya ingin kesalahannya harus sama dengan

62
00:02:54,290 --> 00:02:57,123
‫handleValidationErrorDB, dan mengirimkan kesalahannya, oke?

63
00:02:59,400 --> 00:03:00,933
‫Sekarang mari kita salin ini lagi.

64
00:03:08,560 --> 00:03:09,840
‫Baiklah.

65
00:03:09,840 --> 00:03:13,723
‫Dan mari kita mulai lagi dengan membuat pesan kita.

66
00:03:19,090 --> 00:03:20,523
‫Data masukan tidak valid.

67
00:03:23,060 --> 00:03:25,043
‫Dan kemudian mari kita juga mengembalikan kesalahan.

68
00:03:27,520 --> 00:03:29,020
‫Jadi AppError baru (pesan, 400).

69
00:03:30,275 --> 00:03:31,860
‫Jadi VS Code

70
00:03:31,860 --> 00:03:35,073
‫sudah mengenali bahwa saya ingin mengetik itu saja, oke?

71
00:03:38,130 --> 00:03:40,280
‫Sekarang untuk membuat satu

72
00:03:40,280 --> 00:03:43,400
‫string besar dari semua string dari semua

73
00:03:43,400 --> 00:03:46,330
‫kesalahan, pada dasarnya kita harus mengulang semua

74
00:03:46,330 --> 00:03:51,180
‫objek ini, dan kemudian mengekstrak semua pesan kesalahan ke dalam array baru.

75
00:03:51,180 --> 00:03:53,573
‫Jadi mari kita lihat lagi.

76
00:03:54,440 --> 00:03:55,320
‫Oke.

77
00:03:55,320 --> 00:03:58,430
‫Jadi objek yang memiliki semua objek

78
00:03:58,430 --> 00:04:01,290
‫di dalamnya ada kesalahan, oke?

79
00:04:01,290 --> 00:04:03,800
‫Jadi kami memiliki satu kesalahan untuk nama, satu untuk

80
00:04:03,800 --> 00:04:05,870
‫kesulitan, dan satu untuk peringkat Rata-rata.

81
00:04:05,870 --> 00:04:09,923
‫Jadi pada dasarnya kita akan mengulang objek error ini.

82
00:04:10,810 --> 00:04:11,660
‫Oke?

83
00:04:11,660 --> 00:04:14,190
‫Dan dalam JavaScript, kami menggunakan Object. nilai untuk

84
00:04:14,190 --> 00:04:17,290
‫pada dasarnya mengulang suatu objek.

85
00:04:17,290 --> 00:04:19,720
‫Jadi unsur-unsur suatu benda.

86
00:04:19,720 --> 00:04:21,260
‫Baiklah?

87
00:04:21,260 --> 00:04:25,000
‫Jadi mari kita buat variabel di sini yang disebut error, yang

88
00:04:25,000 --> 00:04:26,700
‫lagi-lagi akan menjadi array dari

89
00:04:26,700 --> 00:04:28,583
‫semua pesan error untuk saat ini,

90
00:04:29,640 --> 00:04:32,963
‫dan sekarang Object. nilai-nilai.

91
00:04:34,930 --> 00:04:38,863
‫Jadi kami ingin nilai err. kesalahan, oke?

92
00:04:41,540 --> 00:04:44,580
‫Dan sekarang lingkari mereka menggunakan peta.

93
00:04:44,580 --> 00:04:46,160
‫Dan kemudian di

94
00:04:46,160 --> 00:04:50,220
‫setiap iterasi, kami hanya akan mengembalikan pesan kesalahan, oke?

95
00:04:50,220 --> 00:04:54,540
‫Jadi hanya untuk memastikan kita semua berada di halaman

96
00:04:54,540 --> 00:04:59,470
‫yang sama di sini, Object. nilai adalah objek ini, oke?

97
00:04:59,470 --> 00:05:04,190
‫Jadi objek ini, dan objek ini, dan yang berikutnya, oke?

98
00:05:04,190 --> 00:05:05,730
‫Jadi ini adalah nilai-nilai.

99
00:05:05,730 --> 00:05:06,930
‫Jadi sekarang

100
00:05:06,930 --> 00:05:09,110
‫yang harus kita lakukan untuk mengekstrak

101
00:05:09,110 --> 00:05:12,210
‫pesan, adalah mengatakan nilai. pesan, oke?

102
00:05:12,210 --> 00:05:13,533
‫Jadi . pesan.

103
00:05:16,410 --> 00:05:18,380
‫Jadi pada dasarnya nilai saat ini, atau

104
00:05:18,380 --> 00:05:19,710
‫katakanlah elemen saat

105
00:05:19,710 --> 00:05:21,653
‫ini, saya suka menggunakan elemen untuk itu,

106
00:05:22,640 --> 00:05:25,423
‫dan kami ingin mengembalikan el. pesan.

107
00:05:26,870 --> 00:05:27,703
‫Oke.

108
00:05:28,940 --> 00:05:32,040
‫Dan sekarang, tentu saja, ini seharusnya tidak ada di sini.

109
00:05:32,040 --> 00:05:34,140
‫Dan Anda mungkin sudah memperhatikan itu.

110
00:05:35,260 --> 00:05:39,930
‫Jadi sebenarnya, di sinilah kita menginginkan ini, oke?

111
00:05:39,930 --> 00:05:41,280
‫Dan sekarang yang

112
00:05:41,280 --> 00:05:45,163
‫perlu kita lakukan adalah memasukkan ini ke dalam string pesan kita, oke?

113
00:05:46,830 --> 00:05:51,700
‫Jadi kesalahan, dan sekarang kita cukup menggabungkan semuanya

114
00:05:51,700 --> 00:05:56,700
‫menjadi satu string menggunakan titik dan kemudian spasi, oke?

115
00:05:56,930 --> 00:05:59,263
‫Dan Anda akan melihat, sebentar lagi, mengapa demikian.

116
00:06:00,350 --> 00:06:01,183
‫Baiklah.

117
00:06:02,590 --> 00:06:05,130
‫Jadi mari kita beralih kembali ke produksi di sini.

118
00:06:05,130 --> 00:06:07,483
‫Jadi jalankan skrip awal produksi kami.

119
00:06:08,960 --> 00:06:12,083
‫Coba lagi sekarang dan mari kita tunggu, dan

120
00:06:13,440 --> 00:06:14,310
‫bam!

121
00:06:14,310 --> 00:06:15,470
‫Ini dia!

122
00:06:15,470 --> 00:06:17,530
‫Jadi data input tidak valid.

123
00:06:17,530 --> 00:06:19,990
‫Kemudian string kesalahan pertama, harus memiliki lebih

124
00:06:19,990 --> 00:06:22,150
‫atau sama dengan 10 karakter.

125
00:06:22,150 --> 00:06:23,810
‫Kemudian yang

126
00:06:23,810 --> 00:06:26,040
‫kedua, dan yang ketiga.

127
00:06:26,040 --> 00:06:26,900
‫Sempurna.

128
00:06:26,900 --> 00:06:30,210
‫Dan itulah mengapa saya menggunakan titik dan spasi, oke?

129
00:06:30,210 --> 00:06:33,680
‫Jadi pada dasarnya memisahkan ketiga string ini

130
00:06:33,680 --> 00:06:36,210
‫dengan titik dan spasi, oke?

131
00:06:36,210 --> 00:06:38,680
‫Dan sekarang ini terlihat seperti pesan kesalahan yang

132
00:06:38,680 --> 00:06:41,693
‫diformat dengan sangat baik yang dapat dipahami semua orang dengan mudah.

133
00:06:42,870 --> 00:06:43,703
‫Benar?

134
00:06:43,703 --> 00:06:46,180
‫Jadi, pada dasarnya kita sudah selesai di sini.

135
00:06:46,180 --> 00:06:47,013
‫Baiklah.

136
00:06:47,013 --> 00:06:49,890
‫Sekarang kita bisa membuat kesalahan ini, menangani kesalahan,

137
00:06:49,890 --> 00:06:52,120
‫lebih banyak lagi yang lengkap.

138
00:06:52,120 --> 00:06:56,640
‫Misalnya, kita dapat menentukan tingkat keparahan kesalahan yang berbeda seperti

139
00:06:56,640 --> 00:06:59,130
‫mengatakan, kesalahan ini tidak begitu

140
00:06:59,130 --> 00:07:01,130
‫penting, kesalahan ini sedang,

141
00:07:01,130 --> 00:07:04,770
‫dan kesalahan ini sangat penting atau bahkan kritis.

142
00:07:04,770 --> 00:07:08,400
‫Dan kami juga dapat mengirim email kepada beberapa

143
00:07:08,400 --> 00:07:10,430
‫administrator tentang kesalahan kritis.

144
00:07:10,430 --> 00:07:14,120
‫Dan sungguh, ada banyak hal yang bisa kita terapkan.

145
00:07:14,120 --> 00:07:18,300
‫Tapi sekali lagi, dalam aplikasi kecil seperti ini, apa yang

146
00:07:18,300 --> 00:07:21,810
‫kita miliki di sini sudah sangat bagus, oke?

147
00:07:21,810 --> 00:07:24,410
‫Jadi ini adalah strategi yang cukup kuat

148
00:07:24,410 --> 00:07:25,970
‫yang telah kami terapkan

149
00:07:25,970 --> 00:07:29,150
‫di sini, dan saya sangat senang dengan itu, oke?

150
00:07:29,150 --> 00:07:32,520
‫Jadi semua logika ini di sini dengan kesalahan operasional

151
00:07:32,520 --> 00:07:34,200
‫yang kami terapkan di

152
00:07:34,200 --> 00:07:36,393
‫sini, jadi itu sudah cukup canggih.

153
00:07:37,250 --> 00:07:38,083
‫Oke?

154
00:07:39,290 --> 00:07:42,190
‫Sekarang jika kita menemukan kesalahan lain yang ingin

155
00:07:42,190 --> 00:07:44,420
‫kita tandai sebagai operasional, maka tentu

156
00:07:44,420 --> 00:07:46,410
‫saja yang harus kita lakukan

157
00:07:46,410 --> 00:07:50,120
‫adalah sesuatu yang mirip dengan yang kita miliki di sini, oke?

158
00:07:50,120 --> 00:07:53,750
‫Jadi pada dasarnya mengimplementasikan fungsi lain untuk yang

159
00:07:53,750 --> 00:07:56,630
‫itu, dan kemudian mengembalikan kesalahan operasional

160
00:07:56,630 --> 00:07:58,620
‫kita sendiri sehingga produksi kesalahan

161
00:07:58,620 --> 00:08:01,580
‫pengiriman dapat benar-benar mengirim kesalahan operasional itu

162
00:08:01,580 --> 00:08:03,473
‫ke klien, bukan?

163
00:08:04,320 --> 00:08:06,580
‫Oke, dan dengan itu,

164
00:08:06,580 --> 00:08:09,080
‫pengontrol kesalahan kami sebenarnya sudah selesai.

165
00:08:09,080 --> 00:08:12,010
‫Tetapi masih ada beberapa kesalahan lain yang

166
00:08:12,010 --> 00:08:16,090
‫perlu kami tangani yang sepenuhnya berada di luar Mongo atau bahkan Express.

167
00:08:16,090 --> 00:08:19,123
‫Dan jadi kami melakukannya di sisa bagian ini.

