בשדה מספר מאוחסן מספר כ-value
, ובשדה מחרוזת מאוחסנת מחרוזת כ-text
. הערך של value
הוא תמיד מספר תקין, בהתאם לאילוצים שהוגדרו לשדה בזמן היצירה. הטקסט יכול להיות כל מחרוזת שהוזנה בכלי העריכה.
שדה למספר
שדה למספר עם עורך פתוח
שדה מספרים בבלוק מכווץ
יצירה
JSON
{
"type": "example_number",
"message0": "number: %1",
"args0": [
{
"type": "field_number",
"name": "FIELDNAME",
"value": 100,
"min": 0,
"max": 100,
"precision": 10
}
]
}
JavaScript
Blockly.Blocks['example_number'] = {
init: function() {
this.appendDummyInput()
.appendField("number:")
.appendField(new Blockly.FieldNumber(100, 0, 100, 10), 'FIELDNAME');
}
};
הפונקציה ליצירת מספרים מקבלת את הפרמטרים הבאים:
הערך value
צריך להיות ניתן להמרה למספר. אם לא, ייעשה שימוש בערך 0.
סידור הפרקים
JSON
קובץ ה-JSON של שדה מספרים נראה כך:
{
"fields": {
"FIELDNAME": 0
}
}
כאשר FIELDNAME
הוא מחרוזת שמפנה לשדה מספרי, והערך הוא הערך שרוצים להחיל על השדה. הערך
פועל לפי אותם כללים כמו ערך הבונה.
XML
קובץ ה-XML של שדה מספרים נראה כך:
<field name="FIELDNAME">0</field>
המאפיין name
של הצומת field
מכיל מחרוזת שמפנה לשדה מספר, והאלמנט הפנימי text
של הצומת הוא value
שיוחל על השדה. ערך הטקסט הפנימי צריך להיות בהתאם לאותם כללים שחלים על ערך הבונה.
מגבלות
אפשר להגדיר אילוצים בהגדרת השדה או באמצעות הפונקציה setConstraints.
הגעת לערך המינימלי
הערך min
קובע את הערך הכי קטן או הכי שלילי שהשדה יכול להכיל.
הגעת לערך המקסימלי
הערך max
קובע את הערך הגדול ביותר או החיובי ביותר שהשדה יכול להכיל.
עיגול
הפונקציה precision
מעגלת את הערך לכפולה הקרובה ביותר של הדיוק. אפשר להשתמש בזה כדי שהשדה יקבל רק כפולות של 0 .01, 10, 42 וכו'.
מגבלות נפוצות
מספרים חיוביים
כדי לאלץ את השדה לקבל רק מספרים חיוביים, מגדירים את הערך של min
ל-1.
מספרים שלמים
כדי לאלץ את השדה לקבל רק מספרים שלמים, מגדירים את precision
ל-1.
יצירת כלי לאימות מספרים
הערך של שדה מספרים הוא מספר, ולכן כל אמצעי האימות צריכים לקבל number
ולהחזיר number
, null
או undefined
.
הנה דוגמה לכלי אימות שמשנה את הערך ל-0 או ל-1 בהתאם לערך שהיה (אי-זוגי או זוגי).
function(newValue) {
return newValue % 2;
}