PracticU

ביצוע ולידציה על PUT Requests

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › ביצוע ולידציה על PUT Requests
מילון מושגים:
PUT - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או להחליף משאב קיים במלואו.
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.
ראוט - הגדרה שמקשרת כתובת בקשה לקוד שמטפל בה באפליקציה. גם מסלול שדרכו עוברות חבילות ברשת.
POST - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או לעדכן משאב, למשל שליחת טופס.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.

ביצוע ולידציה על PUT Requests
בעדכון מלא (PUT) הלקוח שולח את כל השדות של המוצר, ולכן הכללים שונים מהוספה. המזהה הוא חובה, והשדות האחרים נבדקים בכל מקרה.
כללי הסכמה
1. ID חובה: מספר שמתחיל מ-0, בלי תקרה מוגדרת.
2. שדות חובה: name, price ו-stock חייבים להופיע, עם אותם גבולות כמו בהוספה: שם בין 3 ל-100 תווים, מחיר בין 0 ל-1000 ומלאי בין 0 ל-10,000.
3. שילוב בראוט: מעתיקים את הבדיקה של POST, משנים לסכמת PUT, ומחזירים 400 עם רשימת השגיאות כשיש בעיה.
בדיקה
1. כמה שגיאות יחד: שם בן שני תווים, מחיר מינוס ומלאי של 200 מחזירים כמה הודעות יחד. אחרי כל תיקון מתקבלות פחות שגיאות, עד שנשארת רק שגיאת השם.
2. ID לא מספרי: כששולחים abc השרת מחזיר "ID must be a number", ו-ID מינוס 9 נדחה כי הוא קטן מ-0.
3. עדכון תקין: אחרי התיקון המוצר מתעדכן כרגיל.
בשלב הבא מוסיפים ולידציה גם לעדכון חלקי.
השיעור הבא בקורס: ביצוע ולידציה על PATCH Requests

פרקי ההרצאה: ביצוע ולידציה על PUT Requests

  1. 00:00

    ולידציה לעדכון מלא ב-PUT

  2. 00:44

    מגבלות ערכים לעדכון מלא

  3. 01:40

    שכפול הוולידציה ל-PUT

  4. 02:16

    שילוב הוולידציה בראוט PUT

תמלול ההרצאה: ביצוע ולידציה על PUT Requests

הטקסט המלא של הדקות הראשונות בהרצאה «ביצוע ולידציה על PUT Requests» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:04

    אנחנו רוצים לבצע ולידציה עבור put בכדי להצליח לבדוק בכלל את העדכון המלא. אז בואו נראה מה אנחנו צריכים לשכפל, אחרי שיש לנו את התשתית הזאת שעשינו בפוסט, מאוד קל לנו לשכפל את זה.

  2. 00:21

    יש לנו פה product נקודה ונגדיר put validation סכמה, ונחשוב מה בעצם צריך שיהיה לנו כאן עבור ולידציה של put.

  3. 00:33

    אז קודם כל בעדכון מלא חובה לתת ID. אז יש לנו פה joy.number.require. כבר אנחנו רואים שיש פה משהו שהוא שונה, לכן היה חשוב לנו לבצע את החלוקה הזאת. ב.

  4. 00:48

    אנחנו לא מוכנים שיהיה לנו פחות מבוא נניח 1, המינימום זה 1 או 0 או לא משנה מה. בוא נגיד שאנחנו נגדיר שהמינימום הוא 0, זה בסדר. מקסימום לא הייתי מגדיר ל-ID, אני לא יודע כמה המקסימום שיכול להיות, מיליון, מיליארד, לא משנה לי כרגע.

  5. 01:08

    name, חובה לתת לי אותו. price, חובה לתת לי. stock, חובה לתת. ובנוסף, המינימום והמקסימום תקפים גם ל-name בעדכון, המינימום והמקסימום תקפים גם ל-price בעדכון 0 עד 1000, ובוא נניח 0 עד 10,000. ואומר שלא הגיוני שלא יביאו לי name כשעושים עדכון מלא, או שיביאו לי מחיר שלילי כשעושים עדכון מלא.

  6. 01:36

    אז יש לנו פה את ה-put validation schema, ומה שאנחנו רוצים לעשות זה לשכפל את הפונקציה הזאת, ואנחנו רוצים to validate put.

  7. 01:49

    כאן אנחנו רוצים את put validation schema, abort early כמובן, וכל היתר אותו הדבר. אז יש לנו כאן error details map תביא לי את כל ההודעות שגיאה.

  8. 02:02

    עכשיו אנחנו רוצים לשלב את זה ב-rout המתאים. יש לנו פה את ה-rout של ה-put, בואו נרווח פה טיפה, ויש לנו כאן בין היצירה של האובייקט לבין שליחת האובייקט לדאטה-בייס שלנו כביכול.

  9. 02:16

    פה אני רוצה לבצע את הבדיקה. האמת שזה ממש דומה לבדיקה הזאת, אז בואו רגע נעתיק את הבדיקה, נדביק פה, ובמקום לקרוא ל-validate-post נקרא ל-validate-put.

  10. 02:30

    ואז הבדיקה כאן היא אחרת, לדוגמה כן אמור להיות לי פה איזשהו ID מספרי good אז הנה יש לנו כרגע את הוולידציה לגבי ה-put עצמו בואו אנחנו רוצים לבדוק את זה רגע נריץ את האתר נלך נשכפל את הטאב

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: ביצוע ולידציה על POST Requests

ההרצאה הבאה: ביצוע ולידציה על PATCH Requests

הרצאות קשורות מקורסים אחרים

  • Get Requests
  • ולידציה - Validation
  • Validation - ולידציה
  • Sending Post Requests

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React