Flutter-发生错误时更改TextFormFirel的背景颜色

问题描述 投票:0回答:1

我正在制作一个登录表单,并且在发生错误时我想更改textFormField的颜色。目前,我正在使用Bloc体系结构和状态管理。

这是一张图片,我希望文本字段出现错误。

enter image description here

flutter dart flutter-layout bloc
1个回答
0
投票

仅使用文本验证并对其进行测试。

这是一个通用示例:

class MyHomePageState extends State<MyHomePage> {
  final _text = TextEditingController();
  bool _validate = false;

  @override
  void dispose() {
    _text.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Textfield validation'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('form cant be empty'),
            TextField(
              controller: _text,
              decoration: InputDecoration(
                filled: _validate,
                fillColor: Colors.red,
                labelText: 'Enter the Value',
                errorText: _validate ? 'Value Can\'t Be Empty' : null,
              ),
            ),
            RaisedButton(
              onPressed: () {
                setState(() {
                  _text.text.isEmpty ? _validate = true : _validate = false;
                });
              },
              child: Text('Submit'),
              textColor: Colors.white,
              color: Colors.blueAccent,
            )
          ],
        ),
      ),
    );
  }
}

Here's a codepen demo for it

© www.soinside.com 2019 - 2024. All rights reserved.