Microsoft.Common.TextBox UI element
عنصر واجهة مستخدم (UI) TextBox
يمكن استخدامه لإضافة نص غير منسق. العنصر هو حقل إدخال أحادي السطر، ولكنه يدعم الإدخال متعدد الأسطر بخاصية multiLine
.
نموذج واجهة المستخدم
يستخدم العنصر TextBox
مربع نص أحادي السطر أو متعدد الأسطر.
مثال على مربع نص من سطر واحد.
مثال لمربع نص متعدد الأسطر.
مخطط
{
"name": "nameInstance",
"type": "Microsoft.Common.TextBox",
"label": "Name",
"defaultValue": "contoso123",
"toolTip": "Use only allowed characters",
"placeholder": "",
"multiLine": false,
"constraints": {
"required": true,
"validations": [
{
"regex": "^[a-z0-9A-Z]{1,30}$",
"message": "Only alphanumeric characters are allowed, and the value must be 1-30 characters long."
},
{
"isValid": "[startsWith(steps('resourceConfig').nameInstance, 'contoso')]",
"message": "Must start with 'contoso'."
}
]
},
"visible": true
}
عينة الإخراج
"contoso123"
الملاحظات
- استخدم الخاصية
toolTip
لعرض نص حول العنصر عند تحريك مؤشر الفأرة فوق رمز المعلومات. - الخاصية
placeholder
هي نص تعليمات يختفي عندما يبدأ المستخدم في التحرير. إذا تم تعريف كل منplaceholder
وdefaultValue
، فإنdefaultValue
لها الأسبقية وتُعرض. - الخاصية
multiLine
منطقية،true
أوfalse
. لاستخدام مربع نص متعدد الأسطر، عيَّن الخاصية علىtrue
. إذا لم تكن هناك حاجة إلى مربع نص متعدد الأسطر، عيِّن الخاصية علىfalse
أو استبعد الخاصية. بالنسبة للخطوط الجديدة، يظهر إخراج JSON\n
لتغذية السطر. يقبل مربع النص متعدد الأسطر\r
للحصول على حرف إرجاع (CR) و\n
لتغذية الأسطر (LF). على سبيل المثال، يمكن أن تتضمن\r\n
القيمة الافتراضية لتحديد إرجاع السطر وتغذية السطر (CRLF). - إذا عُيِّن
constraints.required
علىtrue
، فيجب أن يحتوي مربع النص على قيمة للتحقق بنجاح. القيمة الافتراضية هيfalse
. - الخاصية
validations
هي مصفوفة تقوم بإضافة شروط للتحقق من القيمة المقدمة في مربع النص. - الخاصية
regex
هي نمط تعبير عادي لـ JavaScript. إذا تم تحديد ذلك، يجب أن تتطابق قيمة مربع النص مع النمط للتحقق بنجاح. القيمة الافتراضية هيnull
. لمزيد من المعلومات حول بنية التعبير العادي، راجع المرجع السريع للتعبير العادي. - تحتوي الخاصية
isValid
على تعبير يُقيَّم بـtrue
أوfalse
. ضمن التعبير، تقوم بتعريف الشرط الذي يحدد ما إذا كان مربع النص صالحاً أم لا. - الخاصية
message
هي سلسلة تُعرض عندما تفشل قيمة مربع النص في التحقق من صحتها. - من الممكن تحديد قيمة لـ
regex
عند تعيينrequired
علىfalse
. في هذا السيناريو، القيمة ليست مطلوبة لمربع النص للتحقق بنجاح. إذا تم تحديد أحدها، فيجب أن يتطابق مع نمط التعبير العادي.
الأمثلة
توضح الأمثلة كيفية استخدام مربع نص أحادي السطر ومربع نص متعدد الأسطر.
سطر واحد
يستخدم المثال التالي مربع نص مع عنصر التحكم Microsoft.Solutions.ArmApiControl للتحقق من توفر اسم المورد.
في هذا المثال، عند إدخال اسم حساب تخزين والخروج من مربع النص، يتحقق عنصر التحكم مما إذا كان الاسم صالحًا وما إذا كان متوفرًا. إذا كان الاسم غير صالح أو موجود بالفعل، يتم عرض رسالة خطأ. يظهر اسم حساب تخزين صالح ومتوفر في الإخراج.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "nameApi",
"type": "Microsoft.Solutions.ArmApiControl",
"request": {
"method": "POST",
"path": "[concat(subscription().id, '/providers/Microsoft.Storage/checkNameAvailability?api-version=2021-09-01')]",
"body": {
"name": "[basics('txtStorageName')]",
"type": "Microsoft.Storage/storageAccounts"
}
}
},
{
"name": "txtStorageName",
"type": "Microsoft.Common.TextBox",
"label": "Storage account name",
"constraints": {
"validations": [
{
"isValid": "[basics('nameApi').nameAvailable]",
"message": "[basics('nameApi').message]"
}
]
}
}
],
"steps": [],
"outputs": {
"textBox": "[basics('txtStorageName')]"
}
}
}
متعدد البنود
يستخدم هذا المثال الخاصية multiLine
لإنشاء مربع نص متعدد الأسطر بنص عنصر نائب.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "demoTextBox",
"type": "Microsoft.Common.TextBox",
"label": "Multi-line text box",
"defaultValue": "",
"toolTip": "Use 1-60 alphanumeric characters, hyphens, spaces, periods, and colons.",
"placeholder": "This is a multi-line text box:\nLine 1.\nLine 2.\nLine 3.",
"multiLine": true,
"constraints": {
"required": true,
"validations": [
{
"regex": "^[a-z0-9A-Z -.:\n]{1,60}$",
"message": "Only 1-60 alphanumeric characters, hyphens, spaces, periods, and colons are allowed."
}
]
},
"visible": true
}
],
"steps": [],
"outputs": {
"textBox": "[basics('demoTextBox')]"
}
}
}
الخطوات التالية
- للحصول على مقدمة حول إنشاء تعريفات واجهة المستخدم، راجع CreateUiDefinition.json لتجربة إنشاء تطبيق مُدار من Azure.
- للحصول على وصف للخصائص العامة في عناصر واجهة المستخدم، راجع CreateUiDefinition Elements.
- لمعرفة المزيد حول الدالات، راجع CreateUiDefinition functions.