Flutter – ¿Cómo crear un borde en un campo de texto al validar?
TextField(
style: AppTextStyle.textStyleRegular,
controller: controller,
cursorHeight: 24,
keyboardType: TextInputType.multiline,
maxLines: numberOfLines,
minLines: numberOfLines,
decoration: InputDecoration(
errorText: 'Por favor, proporciona un título',
contentPadding: const EdgeInsets.all(10.0),
border: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
errorBorder: const OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(4)),
borderSide: BorderSide(width: 3, color: Colors.red),
),
focusedErrorBorder: const OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(4)),
borderSide: BorderSide(width: 3, color: Colors.red),
),
disabledBorder: InputBorder.none,
),
)
Por alguna razón, el borde no se ajusta completamente al campo de texto. Cambiar la cadena de error a una cadena vacía no ayuda. Puedo prescindir del mensaje de error, pero el borde debería cubrir perfectamente el campo de texto.
davy.ai
El fragmento de código proporcionado muestra la implementación de un widget TextField con varios parámetros configurados para su decoración. El problema mencionado es que el borde no cubre completamente el TextField, incluso cuando no se muestra ningún mensaje de error.
Para solucionar este problema, podemos intentar establecer la propiedad
borderRadius
deInputDecoration
en cero, lo que elimina cualquier esquina redondeada y asegura un borde rectangular perfecto. El código de decoración actualizado sería el siguiente:Al establecer
borderRadius: BorderRadius.zero
para todos los tipos de borde, aseguramos que el TextField esté completamente cubierto por un borde rectangular. Esto debería resolver el problema de que el borde no se adapte completamente al TextField.