קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
ראשי ♦ אנגולר ♦ מדריך אנגולר | reactive forms – בסיס לבניית הטופס המגיב.

מדריך אנגולר | reactive forms – בסיס לבניית הטופס המגיב.

וינר יאיר 9 בינואר 2021 אין תגובות

אוקיי אז הגענו לשלב שבו מתחילים לרשום קצת טופסים ולמעשה "סיימנו תיאוריה" (לא מדוייק אבל מפה והלאה זה יהיה לרוב קוד והסברים ולא רק הסברים). אז בואו נדבר על הבסיס , לבניית טופס באנגולר יש שתי אפשרויות:

  1. Bacis Form
  2. Form Builder

האפשרות הבסיסית ליצירת טופס, ניתנת על ידי הגדרה של formGroup ו formControls בתוכו. להלן דוגמה פשוטה:

profileForm = new FormGroup({
    firstName: new FormControl('', Validators.required),
    lastName: new FormControl(''),
  });

כמו כן אפשר לשחק עם זה. אפשר לייצר formGroups נוספים בתוך formGroups ולהוסיף גם formArrays וכו..

אפשרות השניה שלדעתי נוחה יותר, היא בעזרת formBuilder service . כך ניתן לציר בצורה קלה יותר טופס שכן הוא מורכב יותר . אם הטופס סופר פשוט אין סיבה לקרוא לסרוויס הזה. פשוט השתמשו באפשרות הבסיסית.

להלן דוגמה של טופס בסיסי בשימוש FormBuilder:

import { Component } from '@angular/core';
import { FormBuilder } from '@angular/forms';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
  styleUrls: ['./example.component.css']
})
export class ProfileEditorComponent {
  profileForm = this.fb.group({
    firstName: ['', Validators.required],
    lastName: [''],
    address: this.fb.group({
      street: [''],
      city: ['']
    }),
  });

  constructor(private fb: FormBuilder) { }
}

זהו השימוש היותר נפוץ, וכן גם מאפשר תצורה נוחה יותר גם במצבים של שינויים של שדות או הוספה של שדות לתוך איזורים מסויימים בטופס.

מה זה ["] : זה למעשה קיצר של formControl אפשר גם לרשום את זה באופן המלא :

export class ProfileEditorComponent {
  profileForm = this.fb.group({
    firstName: this.fb.control('',Validators.required),
    lastName: [''],
    address: this.fb.group({
      street: [''],
      city: ['']
    }),
  });

בטח שמתם לב, שעל שם השם יש וולידציה. אפשר גם להוסיף כמה וולידציות על ידי הוספת מערך [] ולשים בתוכו את כל הווליצדיות הרצויות.

למשל :

firstName: this.fb.control('',[Validators.required, Validators.pattern(/[a-zA-Z]+/)]),

ברכותיי! בניתם טופס ריאקטיבי לראשונה! אבל.. יש עוד דרך ארוכה ומהנה 😎 . נתראה בפרק הבא.

פוסטים קשורים:

מדריך אנגולגר טופס ריאקטיבי שיעור 6מדריך אנגולר | reactive forms – הוספת ולידציות מובנות מדריך אנגולגר טופס ריאקטיבי שיעור 2מדריך אנגולר | reactive forms – היכרות בסיסית עם AbstractControl מדריך-אנגולגר-טופס-ריאקטיבי-שיעור-חמישימדריך אנגולר | reactive forms – חיבור הטופס הריאקטיבי לתצוגת הטופס מדריך אנגולגר טופס ריאקטיבי שיעור שביעימדריך אנגולר | reactive forms – ולידציות בהתאמה אישית
אנגולר לימודי אנגולר מדריך אנגולר קורס אנגולר

אודות המחבר

יאיר וינר להציג את כל הפוסטים של וינר יאיר


« פוסט קודם
פוסט הבא »

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
29 בדצמבר 2023 עידן יצחקי

שדה טקסט עשיר עם תמונות

אתם הולכים להיות מופתעים עד כמה HTML יכול להיות חכם ולבצע משהו כל כך מורכב, שאם אנחנו היינו רוצים ליצור

1 באוקטובר 2021 עידן יצחקי

איך למשוך דינמית favicon של אתרים אחרים ב-JS

בפוסט זה נראה איך אפשר על פי לינקים בדף למשוך את ה-favicon מהדומיין שלהם באופן דינמי, בדיקה של תקינות התמונה

פופולרי
Javascript functions – היכרות עם סוגי פונקציות
Javascript
21 בדצמבר 2024 אין תגובות
Nested routing in angular standalone component
Typescript
15 בנובמבר 2024 תגובה אחת
בחרו לפי תגיות
angular blockchain css ethers express front-end fullstack GQL html javascript next js nextjs nodejs react hooks reactjs solidity webgl אנגולר בלוקציין וורדפרס לימודי אנגולר לימודי וורדפרס לימוד ריאקט מדריך front-end מדריך GQL מדריך אנגולר מדריך וורדפרס מדריך חינם react מדריך ריאקט מפתח בלוק מפתח בלוקציין מתכנת front-end מתכנת בלוקציין מתכנת פרונט סולידיטי קורס front end קורס fullstack קורס nextjs קורס אנגולר קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי קורס ריאקט קורס תכנות קורס תכנות בחינם
סינון על פי קטגוריות
CSS fullstack HTML IIS Javascript nodeJs SEO Typescript אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד