%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart LR subgraph Era1["ยุค HTML Form / Native Form"] A["input + submitตรวจพื้นฐานใน Browser"] end subgraph Era2["ยุค Template Form / Simple Angular Form"] B["ngModelเขียนง่ายใน Template"] end subgraph Era3["ยุค Reactive Form / Complex Form"] C["FormGroup/FormControlควบคุมใน Class"] D["Dynamic Formสร้างฟอร์มตามข้อมูล"] end A --> B --> C --> D
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart TD A["ต้องสร้างฟอร์ม?Need form?"] --> B{"ซับซ้อนหรือ Dynamic?Complex or dynamic?"} B -->|ไม่ / No| C["Template-drivenngModel"] B -->|ใช่ / Yes| D["Reactive FormsFormGroup"] D --> E["Validators + Unit Testตรวจง่าย"] C --> F["FormsModuleตั้งค่าง่าย"]
กรุณากรอกอีเมลให้ถูกต้อง