custom_form_kit 0.1.3
custom_form_kit: ^0.1.3 copied to clipboard
Flutter için özelleştirilebilir form bileşenleri ve validatörler içeren orta ölçekli form kiti.
custom_form_kit #
Flutter için özelleştirilebilir form bileşenleri ve hazır validatörler içeren, orta ölçekli bir form kiti.
Karmaşık form yapılarını basit ve yönetilebilir hale getirir. Tek tek TextFormField yazmakla uğraşmadan, özelleştirilebilir alanları kolayca oluşturabilirsiniz.
🚀 Özellikler #
CustomTextField: Yazı alanı (şifre modu, klavye türü, validasyon)CustomDropdown: Seçim listesi (dropdown)CustomDatePicker: Tarih seçici form alanıCustomForm: Alanları gruplayıp kolaycaonSubmitile veri almakValidators:required,email,minLengthgibi hazır kurallar- Temiz ve sade arayüz, responsive tasarım desteği
- Tamamen özelleştirilebilir yapı
📦 Kurulum #
pubspec.yaml dosyanıza şu satırı ekleyin:
dependencies:
custom_form_kit: ^0.1.3
Ve ardından terminalde çalıştırın:
flutter pub get
🧪 Kullanım Örneği #
import 'package:custom_form_kit/custom_form_kit.dart';
CustomForm(
fields: [
TextFieldConfig(
name: 'fullName',
label: 'Ad Soyad',
validator: Validators.required('Lütfen adınızı girin'),
),
TextFieldConfig(
name: 'email',
label: 'E-posta',
validator: Validators.email(),
),
DropdownFieldConfig(
name: 'gender',
label: 'Cinsiyet',
items: ['Kadın', 'Erkek', 'Belirtmek istemiyorum'],
validator: Validators.required(),
),
DatePickerFieldConfig(
name: 'birthDate',
label: 'Doğum Tarihi',
validator: (value) =>
value == null ? 'Lütfen doğum tarihinizi seçin' : null,
),
],
submitButtonText: 'Kaydet',
onSubmit: (formData) {
print('Form verisi:');
print(formData); // Map<String, dynamic>
},
);
📤 Dönen Veri Örneği #
{
"fullName": "Emre Yılmaz",
"email": "emre@example.com",
"gender": "Erkek",
"birthDate": "1995-04-22T00:00:00.000"
}
Not:
DateTimeJSON’da string olarak dönüştürülür.
📁 Proje Yapısı #
lib/
├── src/
│ ├── custom_text_field.dart
│ ├── custom_dropdown.dart
│ ├── custom_date_picker.dart
│ ├── form_manager.dart
│ └── validators.dart
└── custom_form_kit.dart
📝 Lisans #
MIT Lisansı
Detaylar için LICENSE dosyasını inceleyin.