kettlebell-tracker/lib/widgets/custom_text_field.dart
2025-06-16 18:56:34 +02:00

42 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
class CustomTextField extends StatelessWidget {
final TextEditingController controller;
final String labelText;
final IconData icon;
final TextInputType keyboardType;
final int? maxLines;
const CustomTextField({
super.key,
required this.controller,
required this.labelText,
required this.icon,
this.keyboardType = TextInputType.text,
this.maxLines = 1,
});
@override
Widget build(BuildContext context) {
return TextFormField(
controller: controller,
keyboardType: keyboardType,
maxLines: maxLines,
decoration: InputDecoration(
labelText: labelText,
prefixIcon: Icon(icon),
border: OutlineInputBorder(borderRadius: BorderRadius.circular(8.0)),
),
validator: (value) {
if (value == null || value.isEmpty) {
return 'Dieses Feld darf nicht leer sein.';
}
if (keyboardType == TextInputType.number &&
double.tryParse(value) == null) {
return 'Bitte eine gültige Zahl eingeben.';
}
return null;
},
);
}
}