ユーザーがテキスト フィールドに入力する際に、入力内容を検証できます。たとえば、名前、メールアドレス、住所、その他の連絡先情報を入力する際に検証できます。この検証により、エラーを減らし、ユーザーの時間を節約できます。
結果
バージョンの互換性
この実装では、プロジェクトの minSDK を API レベル 21 以上に設定する必要があります。
依存関係
ユーザーが入力する際に検証する
次のコードを使用して、フィールド入力を表示し、ユーザーが入力する際にテキストを検証します。情報が検証されない場合は、エラー メッセージが表示され、ユーザーが入力内容を修正できます。
class EmailViewModel : ViewModel() { var email by mutableStateOf("") private set val emailHasErrors by derivedStateOf { if (email.isNotEmpty()) { // Email is considered erroneous until it completely matches EMAIL_ADDRESS. !android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches() } else { false } } fun updateEmail(input: String) { email = input } } @Composable fun ValidatingInputTextField( email: String, updateState: (String) -> Unit, validatorHasErrors: Boolean ) { OutlinedTextField( modifier = Modifier .fillMaxWidth() .padding(10.dp), value = email, onValueChange = updateState, label = { Text("Email") }, isError = validatorHasErrors, supportingText = { if (validatorHasErrors) { Text("Incorrect email format.") } } ) } @Preview @Composable fun ValidateInput() { val emailViewModel: EmailViewModel = viewModel<EmailViewModel>() ValidatingInputTextField( email = emailViewModel.email, updateState = { input -> emailViewModel.updateEmail(input) }, validatorHasErrors = emailViewModel.emailHasErrors ) }
コードに関する主なポイント
OutlinedTextFieldコンポーネントを再利用する Composable を定義し、バリデータ エラー メッセージをユーザーが入力する際に表示するために必要なパラメータを追加します。EmailViewModelは、状態を維持し、メール検証ロジックを提供するために使用されます。isErrorが true の場合、UI に検証エラー状態の視覚的なインジケーターが表示されます。- 完全で正しいメールが入力されるまで、コンポーネントに「メールの形式が正しくありません」と表示されます。
このガイドを含むコレクション
このガイドは、Android 開発の幅広い目標をカバーする、厳選されたクイック ガイド コレクションの一部です。
テキストを表示する
テキストは UI の主要な構成要素です。アプリでテキストを表示して優れたユーザー エクスペリエンスを提供する方法について説明します。
ユーザー入力のリクエスト
ユーザーがテキストを入力したり、他の入力方法を使用したりしてアプリを操作できるようにする方法について説明します。
ご不明な点やフィードバックがある場合
よくある質問のページでクイック ガイドについて確認するか、お問い合わせください。