どうも、ちょげ(@chogetarou)です。
CupertinoのTextFieldでバリデーションをする方法を紹介します。
方法

CupertinoのTextFieldでバリデーションをするには、CupertinoTexFormFieldRowを使います。
具体的には、CupertinoTextFormFieldRowを配置し、その引数「validator」にバリデーションの関数を指定します。
CupertinoTextFormFieldRow(
validator: (String? value) {
//バリデーション
},
),
これでCupertinoのTextFieldでバリデーションをすることが出来ます。
使用例
以下は、使用例です。

final _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Padding(
padding: const EdgeInsets.all(8.0),
child: Form(
key: _formKey,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
CupertinoTextFormFieldRow(
decoration: BoxDecoration(
color: Colors.blue[100],
),
validator: (String? value) {
if (value == null || value.length < 5) {
return 'Error';
}
return null;
},
),
ElevatedButton(
onPressed: () => _formKey.currentState?.validate(),
child: Text('Validate'),
),
],
),
),
),
),
);
}

[Flutter]CupertinoTextFieldのフォーカスを外すには?
CupertinoTextFieldにボタンなどを使ってフォーカスを外す方法を紹介します。

[Flutter]CupertinoTextFieldにクリアボタンを追加するには?
CupertinoTextFieldにクリアボタンを追加する方法を紹介します。

[Flutter]CupertinoTextFieldの高さを変えるには?
CupertinoTextFieldの高さを変える方法を紹介します。

[Flutter]CupertinoTextFieldのパディングを設定するには?
CupertinoTextFieldのパディングを設定する方法を紹介します。
コメント