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 kolayca onSubmit ile veri almak
  • Validators: required, email, minLength gibi 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: DateTime JSON’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.


Libraries

custom_form_kit
A reusable form kit package for Flutter.
main