1.5.1 • Published 7 months ago

ngx-bootstrap-form-builder v1.5.1

Weekly downloads
-
License
-
Repository
-
Last release
7 months ago

Ngx-Bootstrap-Form-Builder

This module will help you to make bootstrap forms and their validation easy.

Install

  1. Install by running: npm install --save ngx-bootstrap-form-builder
  2. Install bootstrap by running: npm install --save bootstrap
  3. Add NgxBootstrapFormBuilderModule to your app.module.ts imports:
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { NgxBootstrapFormBuilderModule } from 'ngx-bootstrap-form-builder';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    ReactiveFormsModule,
    NgxBootstrapFormBuilderModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Usage

This module has its own fields to help you to create poweful forms with validation easy.

app.component.html

<div class="container mt-2">
  <h2>Demo</h2>
  <hr>
  <form [formGroup]="frmGroup" (validSubmit)="formSubmit($event)">
    <div class="row">
      <div class="col-sm-12 col-md-6">
        <bs-text-field label="Name" placeholder="Your name goes here" formControlName="name"></bs-text-field>
      </div>
      <div class="col-sm-12 col-md-6">
        <bs-text-field label="Last name" placeholder="optional" formControlName="lastName"></bs-text-field>
      </div>
    </div>
    <div class="row">
      <div class="col-sm-12 col-md-6">
        <bs-text-field label="Email" placeholder="my_account@gmail.com" formControlName="email"></bs-text-field>
      </div>
      <div class="col-sm-12 col-md-6">
        <bs-drop-down-field label="Gender" [items]="genders" keyValue="id" textValue="label" formControlName="gender">
        </bs-drop-down-field>
      </div>
    </div>
    <button type="submit" class="btn btn-primary">
      Send
    </button>
  </form>
</div>

app.component.ts

import { Component } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  public frmGroup: FormGroup;
  public genders: any[];

  constructor() {
    this.frmGroup = new FormGroup({
      name: new FormControl('', [Validators.required]),
      lastName: new FormControl(''),
      email: new FormControl('', [Validators.required]),
      gender: new FormControl('', [Validators.required])
    });
    this.genders = [{ id: 'M', label: 'Male' }, { id: 'F', label: 'Famale' }];
  }

  public formSubmit(data: any): void {
    console.log(data);
  }
}

Available fields

Text Field: <bs-text-field></bs-text-field>

AtributeData typeDescription
idstringId assigned to html control. If it is not provided a random will assigned.
namestringName assigned to html control. If it is not provided a random will assigned.
labelstringThis atribute will assign a bootstrap label for the field. If it is not provided html label will not exists.
placeholderstringPlaceholder assigned to html control.
disabledbooleanEnable / Disable field. Default: "false"
showErrorDescriptionbooleanShow / Hide error message when the field is invalid. Default: "true"
faIconstringAdds an icon to the field. This attribute requires Font Awesome installed in your project. Default: ""
textIconstringAdds a character as an icon to the field. Default: ""
valuestringValue assigned to the field. Default: ""
classstringCustom CSS classes to be assigned to field container. Default: "mb-2"
1.5.1

7 months ago

1.5.0

8 months ago

1.4.0

10 months ago

1.2.3

1 year ago

1.2.2

1 year ago

1.3.0

1 year ago

1.2.1

1 year ago

1.2.0

1 year ago

1.0.1

1 year ago

1.0.0

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago