通过表单验证器颤动地更改文本返回的颜色

时间:2019-12-29 00:05:51

标签: flutter

我有一个TextFormField,它有一个返回字符串的验证器。我想以红色显示验证错误消息,并且可能是其他样式

  • 如何更改其颜色?
  • 我可以在主题中对其进行配置,以便为我的应用程序中的所有表单进行一次配置吗?

    TextFormField(

TextFormField(
  textCapitalization: TextCapitalization.words,
  decoration: InputDecoration(
    border: UnderlineInputBorder(),
    filled: true,
    icon: Icon(Icons.person),
    hintText: 'First name',
    labelText: 'First Name *',
  ),
  onSaved: (String value) {
    this._customer.fName = value;
  },
  validator: _validateName,
  initialValue: this._customer.fName,
),

Edit1:

我在ThemeData中添加了以下内容。

final ThemeData myTheme = ThemeData(

 errorStyle: TextStyle(
      color: Colors.red,
      fontSize: null,
      fontWeight: FontWeight.w400,
      fontStyle: FontStyle.normal,
    ),
  errorColor: Color(0xffd32f2f),
)
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Lead Manager',
      theme: myTheme,
      home: Home(),
    );

  }
}

但是它不起作用。

2 个答案:

答案 0 :(得分:0)

您可以这样设置errorText的样式。

TextFormField(
      textCapitalization: TextCapitalization.words,
      decoration: InputDecoration(
          border: UnderlineInputBorder(),
          filled: true,
          icon: Icon(Icons.person),
          hintText: 'First name',
          labelText: 'First Name *',
          //textError styling
          errorStyle: TextStyle(color: Colors.teal)),
      onSaved: (String value) {
        this._customer.fName = value;
      },
      validator: _validateName,
      initialValue: this._customer.fName,
    );

更多详细信息,请点击errorStyle property

答案 1 :(得分:0)

要更改整个应用程序的TextFields和其他可能的错误消息的错误颜色,请在MaterialApp声明中添加theme属性并覆盖errorColor

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: Home(),
      // Add this line
      theme: ThemeData(errorColor: Colors.yellow),
    );
  }
}