%%{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["ยุค Manual Validation / Manual Checks"] A["if input === ''ตรวจเองทีละ field"] end subgraph Era2["ยุค Form Model / Reactive Forms"] B["FormControlควบคุม input"] C["FormGroupรวมหลาย field"] end subgraph Era3["ยุค Dynamic Validation / Advanced Forms"] D["FormArrayรายการ dynamic"] E["Custom/Async Validatorกติกาเฉพาะระบบ"] end A --> B --> C --> D --> E
%%{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["FormGroupฟอร์มหลัก"] --> B["FormControl: nameชื่อ"] A --> C["FormControl: emailอีเมล"] A --> D["FormArray: skillsทักษะหลายรายการ"] B --> E["Validators.requiredต้องกรอก"] C --> F["Validators.emailรูปแบบอีเมล"]
ห้ามใช้ชื่อ admin