הבדלים בין גרסאות בדף "ויקיפדיה:מערכת בדיקת פרמטרים"

מ
אין תקציר עריכה
מ (הוספת קטגוריה:ניהול פרמטרים באמצעות HotCat)
מ
'''מערכת בדיקת פרמטרים''' מאפשרת להוסיף ל[[ויקיפדיה:תבנית|תבנית]] תיאור של הפרמטרים שהיא מצפה לקבל, ובדרך זו לאתר שימוש שגוי בתבנית (מספר לא נכון של פרמטרים, השמטה של פרמטר שחובה לדווחו ועוד).
== יחידה ==
ב[[יחידה:ParamValidator]] ([[יחידה:ParamValidator/תיעוד|תיעוד]]) שתי פונקציות: הפונקציה העיקרית מקבלת frame שהועבר מתבנית. הפונקציה מוצאת את שם התבנית, ובעזרת יחידת [[יחידה:ReadTd]] קוראת את ה- templatedata (מכאן והלאה - TD) של התבנית. אם הקריאה נכשלת, הפונקציה מחזירה שגיאה ויוצאת.
* פרמטר חובה (required) חסר (בין אם מועבר בלי ערך או לא מועבר כלל)
* פרמטר מסוג לא תואם (למשל פרמטר שמוגדר numeric ומקבל ערך לא ריק שאינו מספר חוקי)
היחידה מחזירה טבלת [[לואה (שפת תכנות)|לואה]] שיכולה להיות ריקה, כאשר אין שגיאות, או להכיל שדות עבור כל אחת מסוגי השגיאות שתוארו, כשבכל שדה רשימת הפרמטרים בהם נמצאה שגיאה.
 
הפונקציה השנייה מקבלת frame של תבנית, ופרמטר יחיד בשם options. הפרמטר הזה הוא מחרוזת שאמורה להכיל אובייקט [[JSON]] חוקי, שמתאר את הקונפיגורציה שמגדירה את הבדיקות. הפרטים מתוארים בפסקה הבאה. הפונקציה קוראת לפונציית הבדיקה, ואז "מלחימה" את רשימת השגיאות שנמצאו לקונפיגורציה, ויוצרת מחרוזת יחידה. אם לא נמצאו שגיאות, מחרוזת ריקה. אם נמצאו, האופציות מגדירות בדיוק את המחרוזת. המחרוזת הזו היא הפלט של הפונקציה.
 
== אופציות - תיאור כללי ==
האופציות הן מחרוזת שמתפרשת לאובייקט JSON חוקי. לאובייקט רמת קינון אחת, כלומר הוא מכיל רשימת שדות עם שמות. ערך כל שדה הוא מחרוזת אחת. רוב המחרוזות מכילות את המחרוזת שיש להחזיר עבור שוגסוג שגיאה מסוים, ועוד כמה שדות שמכילים "הוראות הפעלה" ליחידה. התיאור המדויק נמצא בתיעוד היחידה.
 
== האופציות בשימוש המערכת בוויקיפדיה בעברית ==
(יתכן שהסעיף לא מעודכן - בידקו את העריכה האחרונה של הסעיף מול העריכה האחרונה ב[[תבנית:Pv-options]]).
בוויקיפדיה בעברית האופציות נמצאות ב[[תבנית:Pv-options]], והיחידה נקראת או ישירות, בעזרת <syntaxhighlight lang="text" inline>{{#invoke:ParamValidator | validateParams | options = <options>}}</syntaxhighlight> או בצורה הנפוצה יותר <syntaxhighlight lang="text" inline>{{#invoke:פרמטרים | main | options = <options> }}</syntaxhighlight>. אין הבדל בין הצורות - אפשר לחשוב על הצורה השנייה כמו "הפניה" לצורה הראשונה. בשני המקרים מעבירים כפרמטר {{תב|Pv-options}} שמכילה את הקונפיגורציה להפעלה. כשלפעמים מעבירים במקומו את [[תבנית:Pv-options span]] שמכילה אופציות כמעט זהות, כשההבדל טכני, ותלוי בהתנהגות העיצובית של התבנית הנבדקת. התבנית הזו מחזירה מחרוזות שתלויות במרחב השם של הערך הנבדק:
* בכל [[עזרה:מרחב שם|מרחבי השיחה,]] התבנית מחזירה אובייקט JSON ריק. כשזה קורה, מערכת הבדיקות לא מבצעת שום בדיקה (אפילו לא מנסה לקרוא את ה-TD), ומחזירה מחרוזת ריקה.
* במרחב הערכים, מרחב פורטל ובמרחב התבניות, המערכת מחזירה סדרת מחרוזות, אחת עבור כל סוג שגיאה שהתגלתה, ומחרוזת נוספת שמוחזרת כאשר יש שגיאה כלשהי. המחרוזות עבור השגיאות הספציפיות מכילות קטגוריה עבור סוג השגיאה, והודעת שגיאה שמכילה את תיאור השגיאה ורשימת הפרמטרים, ובמקרה המיוחד של פרמטרים מספריים שגויים (כלומר לא מוצהרים) עם ערך לא ריק, גם את רשימת הערכים. כמו כן יש הודעה כללית, שמכילה את שם התבנית בה נתגלו שגיאות, כולל קישור, ושתי קטגוריות כלליות: '''[[:קטגוריה:שגיאות פרמטריות]]''', ו"'''קטגוריה:שגיאות פרמטריות בתבנית <שם התבנית>'''". כשהמחרוזת המוחזרת אינה ריקה, היא עטופה באלמנט html ממחלקה מסוימת, שבדרך כלל יש לה מצב תצוגה "מוסתר". מצב התצוגה לא משפיע על הקטגוריות, וכל הקטגוריות שהמערכת מוסיפה הן [[ויקיפדיה:קטגוריות#קטגוריות מוסתרות]].
* בשאר המרחבים, הודעות השגיאה הן זהות, אבל הקטגוריות לא מופיעות, ואם יש שגיאה כלשהי, נוספת רק קטגוריה אחת: [[:קטגוריה:שגיאות פרמטריות מחוץ למרחב הערכים]].