You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

reactive-forms-json

Package Overview
Dependencies
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

reactive-forms-json

This project demonstrates how to implement modal popups in an Angular application using the `json-reactive-form-angular-18` package.

0.0.52
latest
npmnpm
Version published
Weekly downloads
31
-71.82%
Maintainers
1
Weekly downloads
 
Created
Source

json-reactive-form-angular-18 Example

This project demonstrates how to implement modal popups in an Angular application using the json-reactive-form-angular-18 package.

Table of Contents

  • Installation
  • Setup
  • Usage
  • Component Example
  • Complete Code Structure
  • Live Demo
  • License

Installation

To install the json-reactive-form-angular-18 package, run the following command: npm i json-reactive-form-angular-18@latest

usage

interface FieldRules {
  required?: boolean; // Whether the field is required
}

interface formArrayTypeConfig {
  type: 'text' | 'number' | 'date' | 'email' | 'password' | 'checkbox' | 'radio' | 'SelectOption' | 'textarea' | 'datetime-local' | 'formGroup' |
  'MultiCheckBox' | 'MatCheckBox' | 'NumberButton' | 'EmailButton';// Type of input field, e.g., "text", "number"
  value?: any; // general placeholder for value, could be more specific based on usage
  label?: string; // label text to display
  name?: string; // unique identifier or name for the field
  callback?: (item: any) => void; // optional callback function 
  rules: FieldRules; // Validation rules for the field
  minLength?: number; // Minimum length for the input value
  maxLength?: number; // Maximum length for the input value
  pattern?: string; // Regex pattern to validate the input
  customValidator?: (value: string) => boolean; // Function for custom validation
  placeholderText?: string; // Placeholder text for the field
  items?: Array<any>;
  Inputdisabled?: boolean; // Whether the field is required
  buttonList?: Array<any>;
  buttonStyle?: string;
  NgClass?: string;
  InputType?: string;
  ButtonText?: string;
  showhide?: boolean;
  autofill?: Array<any>;
  checkboxlabel?: Array<any>;
  HideShowInput?: Array<any>;
  errorMessage?: string;
  ParentStyle?: string;
  disabled?: boolean;
}

interface FieldConfig {
  type: 'text' | 'number' | 'date' | 'email' | 'password' | 'checkbox' | 'radio' | 'SelectOption' | 'textarea' | 'datetime-local' | 'formGroup' |
  'MultiCheckBox' | 'MatCheckBox' | 'NumberButton' | 'EmailButton';// Type of input field, e.g., "text", "number"
  value: any; // The default value of the field
  label: string; // The label for the field
  rules: FieldRules; // Validation rules for the field
  minLength?: number; // Minimum length for the input value
  maxLength?: number; // Maximum length for the input value
  pattern?: string; // Regex pattern to validate the input
  customValidator?: (value: string) => boolean; // Function for custom validation
  placeholderText?: string; // Placeholder text for the field
  items?: Array<any>;
  Inputdisabled?: boolean; // Whether the field is required
  buttonList?: Array<any>;
  buttonStyle?: string;
  NgClass?: string;
  InputType?: string;
  ButtonText?: string;
  showhide?: boolean;
  autofill?: Array<any>;
  checkboxlabel?: Array<any>;
  HideShowInput?: Array<any>;
  errorMessage?: string;
  ParentStyle?: string;
  GroupLabel?: Array<any>;
  AddNewRequried?: boolean;
  formArray?: formArrayTypeConfig[];
}

import { Component } from '@angular/core';
import { ReactiveJsonFormsService,JsonReactiveFormModule } from 'json-reactive-form-angular-18';

@Component({
  standalone:true,
  imports:[JsonReactiveFormModule],
  providers:[ReactiveJsonFormsService],
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  title = 'angular-tour-of-heroes';
  constructor(public form_service: ReactiveJsonFormsService) { }

  OpenPopUp() {
      this.form_service.buildForm({
        name: {
          type: "text",
          value: "",
          label: "your label name",
          rules: {
            required: true,
          },
          placeholderText:"",
          maxLength:6
        },
        lastname: {
          type: "text",
          value: "",
          label: "your last name",
          rules: {
            required: true,
          },
          placeholderText:"",
          maxLength:6
        }
      }, "newform").then((res: any) => {
    });
  }

  onSubmit(form) {
    console.log(form, 'onSubmit');
 }
}
# app.component.html add
<Json-Reactive-Forms id="newform" [CancelRoute]="'/home'" (OnSubmitEvent)="onSubmit($event)"></Json-Reactive-Forms>

Live Demo

You can view and run the example project live on StackBlitz: link

FAQs

Package last updated on 06 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts