El tutorial o código que encontrarás en este post es la resolución más sencilla y efectiva que hallamos a tu duda o dilema.
Solución:
Pruebe el siguiente código. Sin ajuste de tamaño para el texto de error, solo el borde del campo en rojo.
TextFormField(
decoration: InputDecoration(
errorStyle: TextStyle(height: 0),
),
);
Puede devolver un vacío string que aún marcará los bordes en rojo si no es válido
validator: (String value)
if (value.isEmpty)
return '';
,
ACTUALIZAR
Lo que hice para arreglar eso fue envolver TextField con SizedBox y darle una altura fija y luego querer expandir con un mensaje de error
SizedBox(
height: SOME_FIXED_HEIGHT_INCLUDING_ERROR_MESSAGE'S_HEIGHT,
child: TextField()
Esto funciona perfecto para mí. Se ve bastante limpio aunque, por supuesto, se pierde la información de error proveniente de la validación.
TextFormField(
decoration: const InputDecoration(
errorBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.red),
),
errorStyle: TextStyle(height: 0),
),
validator: (_) => error ? '' : null,
),
Si crees que te ha resultado de ayuda nuestro artículo, sería de mucha ayuda si lo compartieras con más juniors y nos ayudes a extender nuestro contenido.