
abc השרת מחזיר "ID must be a number", ו-ID מינוס 9 נדחה כי הוא קטן מ-0.הטקסט המלא של הדקות הראשונות בהרצאה «ביצוע ולידציה על PUT Requests» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו רוצים לבצע ולידציה עבור put בכדי להצליח לבדוק בכלל את העדכון המלא. אז בואו נראה מה אנחנו צריכים לשכפל, אחרי שיש לנו את התשתית הזאת שעשינו בפוסט, מאוד קל לנו לשכפל את זה.
יש לנו פה product נקודה ונגדיר put validation סכמה, ונחשוב מה בעצם צריך שיהיה לנו כאן עבור ולידציה של put.
אז קודם כל בעדכון מלא חובה לתת ID. אז יש לנו פה joy.number.require. כבר אנחנו רואים שיש פה משהו שהוא שונה, לכן היה חשוב לנו לבצע את החלוקה הזאת. ב.
אנחנו לא מוכנים שיהיה לנו פחות מבוא נניח 1, המינימום זה 1 או 0 או לא משנה מה. בוא נגיד שאנחנו נגדיר שהמינימום הוא 0, זה בסדר. מקסימום לא הייתי מגדיר ל-ID, אני לא יודע כמה המקסימום שיכול להיות, מיליון, מיליארד, לא משנה לי כרגע.
name, חובה לתת לי אותו. price, חובה לתת לי. stock, חובה לתת. ובנוסף, המינימום והמקסימום תקפים גם ל-name בעדכון, המינימום והמקסימום תקפים גם ל-price בעדכון 0 עד 1000, ובוא נניח 0 עד 10,000. ואומר שלא הגיוני שלא יביאו לי name כשעושים עדכון מלא, או שיביאו לי מחיר שלילי כשעושים עדכון מלא.
אז יש לנו פה את ה-put validation schema, ומה שאנחנו רוצים לעשות זה לשכפל את הפונקציה הזאת, ואנחנו רוצים to validate put.
כאן אנחנו רוצים את put validation schema, abort early כמובן, וכל היתר אותו הדבר. אז יש לנו כאן error details map תביא לי את כל ההודעות שגיאה.
עכשיו אנחנו רוצים לשלב את זה ב-rout המתאים. יש לנו פה את ה-rout של ה-put, בואו נרווח פה טיפה, ויש לנו כאן בין היצירה של האובייקט לבין שליחת האובייקט לדאטה-בייס שלנו כביכול.
פה אני רוצה לבצע את הבדיקה. האמת שזה ממש דומה לבדיקה הזאת, אז בואו רגע נעתיק את הבדיקה, נדביק פה, ובמקום לקרוא ל-validate-post נקרא ל-validate-put.
ואז הבדיקה כאן היא אחרת, לדוגמה כן אמור להיות לי פה איזשהו ID מספרי good אז הנה יש לנו כרגע את הוולידציה לגבי ה-put עצמו בואו אנחנו רוצים לבדוק את זה רגע נריץ את האתר נלך נשכפל את הטאב