ورودیِ متن، با استفاده از تگِ edittext نمایش‌داده می‌شود. این‌تگ، مانندِ همه‌ی ورودی‌ها مشخصه‌های field و placeholder را دارد (توضیحاتِ‌بیشتر را در صفحهٔ ورودی‌های کاربر بخوانید). 

ورودیِ متن،‌ این‌قابلیت را دارد که متنی که وارد شده را، پیش از ارسالِ فرم، با استفاده از عبارات منظم (regular expression) ارزیابی کند و درصورتِ معتبر نبودنِ متن، پیغامِ خطایی را نمایش دهد. این‌کار با استفاده از اضافه‌کردنِ تگ‌های validation در درونِ تگِ‌ edittext امکان‌پذیر است. 

هر تگِ validation یک مشخصهٔ regex دارد که در آن عبارت منظم (به فرمت Java) برای صحت‌سنجی مقدار وارد شده قرار می‌گیرد و یک مشخصهٔ error دارد که متنِ خطا در آن وارد می‌شود.

<page>
	<edittext field="phone" placeholder="شماره‌ی تلفن">
		<validation regex=".+" error="شماره‌ی تلفن نمی‌تواند خالی باشد" />
		<validation regex="[0-9]+" error="شماره‌ی تلفن تنها می‌تواند شاملِ اعداد باشد" />
		<validation regex="0[0-9]+" error="شماره‌ی تلفن باید با عدد صفر شروع شود" />
		<validation regex="[0-9]{8,11}" error="شماره‌ی تلفن باید ۸ تا ۱۱ رقم باشد" />
	</edittext>
</page>

 

شما همچنین می‌توانید مقدار المان را از قبل مشخص کنید، کافیست مقدار مورد نظر را در محتوای تگ بنویسید:

<page>
	<edittext field="name" placeholder="اسم">
		جعفر
	</edittext>
</page>

 

مقادیر پیش‌فرضی که از اطلاعات وارد شده توسط کاربر خوانده می‌شوند بر مقادیر مشخص شده در کد (مانند حالت بالا) اولویت دارند.

انواع صفحه کلید

شما می توانید نوع صفحه کلید نمایش داده‌شده برای کاربر برای یک المان ورودی متن را از طریق مشخصه‌ی keyboardمشخص نمایید. این مشخصه مقادیر زیر را اختیار می‌کند:

  • normal: کیبورد معمولی برای کاربر نمایش داده خواهد شد. این کیبورد مناسب وارد کردن یک متن عمومی حداکثر یک خطی است.

  • multiline: مانند کیبورد معمولی عمل می‌کند با این تفاوت که امکان وارد ساختن متون چندخطی را به کاربر می‌دهد. دقت کنید که چون در این حالت کنش اصلی کیبورد به افزودن خط جدید تغییر می‌یابد مشخص کردن اتمام کار برای کاربر سخت‌تر خواهد بود، بنابراین این نوع کیبورد را فقط در حالتی استفاده نمایید که واقعا منظور وارد ساختن متنی چندخطی است.
  • number: دکمه ‌های اعداد را به کاربر نمایش می‌دهد.
  • signedNumber: مانند کیبورد number عمل می‌کند، با این تفاوت که به کاربر اجازه‌ی مشخص کردن علامت عدد را نیز می‌دهد.
  • decimal: مانند کیبورد number عمل می‌کند منتها امکان وارد ساختن اعداد اعشاری را نیز فراهم می‌آورد.
  • signedDecimal: به شکل ترکیبی از کیبوردهای decimal و signedNumber عمل می‌کند.
  • phone: کیبوردی مناسب وارد ساختن شماره‌ی تلفن در اختیار کاربر قرار می‌دهد.
  • email: کیبوردی مناسب وارد کردن آدرس ایمیل در اختیار کاربر قرار می‌دهد.
  • uri: کیبوردی مناسب وارد ساختن یک آدرس اینترنتی در اختیار کاربر قرار می‌دهد.
<page>
	<edittext field="phone" placeholder="شماره‌ی تلفن" keyboard="phone">
		<validation regex=".+" error="شماره‌ی تلفن نمی‌تواند خالی باشد" />
		<validation regex="[0-9]+" error="شماره‌ی تلفن تنها می‌تواند شاملِ اعداد باشد" />
		<validation regex="0[0-9]+" error="شماره‌ی تلفن باید با عدد صفر شروع شود" />
		<validation regex="[0-9]{8,11}" error="شماره‌ی تلفن باید ۸ تا ۱۱ رقم باشد" />
	</edittext>
</page>

 

کیبوردی که برای کاربر نمایش داده می‌شود ممکن است به شکل محدود کننده نمایش‌ داده‌شود (مثلا کاربر بتواند فقط عدد وارد کند) و یا این که اینگونه نباشد. رفتار کلی کیبورد بسته به نرم‌افزار کیبوردی دارد که کاربر از آن استفاده می‌کند و در بسیاری از حالات فوق ممکن است برخی از ویژگی‌ها پشتیبانی نشوند. اگر می‌خواهید مطمئن شوید که کاربر به فرمت خاصی اطلاعات خود را وارد می‌سازد حتما فرمت خود را در قالب تگ‌های validation مشخص کنید.