Flutterでバリデーションする
Flutter validationの実装も簡単でいいなー。自前でゴリゴリ書く必要ない。 pic.twitter.com/mtYQKakD3p
— shogo.yamada@Flutterマン (@yshogo87) March 30, 2019
上の記事に書きてるようなバリデーション方法のやり方を載せておく
class _EditProfileState extends State<EditProfile> { final _nameInputController = TextEditingController(); final _intoroductionInputController = TextEditingController(); final _formKey = GlobalKey<FormState>(); @override void initState() { super.initState(); _initSet(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Edit Profile"), actions: <Widget>[ StreamBuilder<bool>( stream: null, builder: (_, snapshot) { if (!snapshot.hasData || !snapshot.data) { return FlatButton( onPressed: () { _formKey.currentState.validate(); }, child: const Text( "Done", style: const TextStyle(color: Colors.blue), ), ); } return CupertinoActivityIndicator(); }, ) ], ), body: Form( key: _formKey, child: CustomScrollView( slivers: <Widget>[ _profileImage(user), _buildProfileSetting( "名前", rightLayout: Flexible( child: TextFormField( controller: _nameInputController, validator: (value) { if (value.isEmpty) { return 'Not allow empty text'; } }, decoration: InputDecoration( border: UnderlineInputBorder(), labelText: "UserName", ), ), ), ), ], ); }, ), ), ); }
詳しくはこちら