Doğrulama Hatalarını Okuma
Coddy'nin Node.js Journey'sinin REST API'leri bölümünün bir parçası. Ders 10 / 25.
Bir istemcinin hangi girdiyi düzeltmesi gerektiğini bilmesi gerekir. safeParse başarısız olduğunda, result.error sorunları açıklar. z.flattenError bunları iki grupta düzenler: adlandırılmış alanlar için fieldErrors ve nesnenin bütünü için formErrors.
const issues = z.flattenError(result.error);
const fields = Object.keys(issues.fieldErrors);Başlık türü yanlışsa, fields içinde title bulunur. Object.keys özellik adlarından oluşan bir dizi döndürür. flattenError yöntemini yalnızca başarısızlık dalında çağırın. Başarılı olduğunda düzleştirilecek bir hata yoktur. Bu şema, listelenen alanları denetler. Katı nesne düzeyindeki hatalar, zod ile Şemalar konusunda ele alınır.
Object.keys(fieldErrors) alan adlarını verir. sort() yöntemi bu adları alfabetik sıraya koyar.
Görev
KolayBu küçük bir alıştırma projesidir. Kurulumu sağlanmıştır; yalnızca exercise.js dosyasını düzenle.
Başarılı olursa {"fields":[]} döndür. Başarısız olursa fieldErrors içindeki adları alfabetik sırayla döndür. POST {"title":42,"done":"yes"} verisini /result adresine gönderdiğinde {"fields":["done","title"]} döner. Geçerli bir başlık ve boole değeri boş bir liste verir.
Başlangıçtaki GET /result, sağlanan örneği {"title": 42, "done": "yes"} kullanır. Diğer girdileri denemek için JSON gövdesiyle POST /result kullan.
Kendin dene
import { z } from 'zod';
const Task = z.object({ title: z.string(), done: z.boolean() });
export function exercise(body) {
return { fields: [] };
}
REST API'leri bölümündeki tüm dersler
1Kaynaklar ve Fiiller
Kaynaklar ve URL'lerPOST ile Oluşturma4Tarayıcılar, Sürümler ve Yapılandırma
Origin NedirBaşka Bir Origin'e İzin VermeCORSAPI'yi Çağıran Bir Sayfa2Doğrulama ve Hatalar
Girdiyi DoğrulamaKendi başına pratik yap: Express playground