בשדה מספר מאוחסן מספר כ-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;
}
