我知道为时已晚,但也许它对某人有帮助,我一一设置我喜欢它的方式,我的意思是,每个边框和消息都是这样的:
TextFormField(
controller: controller.emailController,
decoration: InputDecoration(
errorBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey),
borderRadius: BorderRadius.only(
topRight: Radius.elliptical(120, 120),
),
),
disabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey),
borderRadius: BorderRadius.only(
topRight: Radius.elliptical(120, 120),
),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey),
borderRadius: BorderRadius.only(
topRight: Radius.elliptical(120, 120),
),
),
errorStyle:
TextStyle(height: 0, color: Colors.amber),
prefixIcon: Icon(Icons.person),
hintText: 'Username',
border: OutlineInputBorder(
borderRadius: BorderRadius.only(
topRight: Radius.elliptical(120, 120),
),
),
//fillColor: Colors.green
),
autofocus: true,
keyboardType: TextInputType.emailAddress,
validator: (value) => '',
onSaved: controller.onEmailSaved,
onFieldSubmitted: controller.requestPasswordFocus,
),
它们现在都是一样的,错误消息的高度也是 0,所以它不会破坏我的表单,并且当有人到达上面时消息是空的。