LogicBuilder.App.Spa.Forms.Configuration 1.0.2

Prefix Reserved
dotnet add package LogicBuilder.App.Spa.Forms.Configuration --version 1.0.2
                    
NuGet\Install-Package LogicBuilder.App.Spa.Forms.Configuration -Version 1.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LogicBuilder.App.Spa.Forms.Configuration" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LogicBuilder.App.Spa.Forms.Configuration" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="LogicBuilder.App.Spa.Forms.Configuration" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LogicBuilder.App.Spa.Forms.Configuration --version 1.0.2
                    
#r "nuget: LogicBuilder.App.Spa.Forms.Configuration, 1.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LogicBuilder.App.Spa.Forms.Configuration@1.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LogicBuilder.App.Spa.Forms.Configuration&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=LogicBuilder.App.Spa.Forms.Configuration&version=1.0.2
                    
Install as a Cake Tool

LogicBuilder.App.Spa.Forms.Configuration

CI CodeQL codecov Quality Gate Status NuGet

A .NET Standard 2.0 library that provides serializable descriptor classes for defining dynamic form configurations in Single Page Applications (SPAs). This library enables declarative form definitions that specify layout, controls, validation rules, conditional logic, and visibility behavior.

Overview

LogicBuilder.App.Spa.Forms.Configuration contains a comprehensive set of descriptor classes that define form structures and behaviors through configuration rather than code. These descriptors can be serialized to JSON and consumed by SPA frameworks to dynamically render forms with full validation and conditional logic support.

Key Features

Form Item Descriptors

The library provides descriptor classes for various form controls and containers:

  • InputFieldControlSettingsDescriptor - Text input fields with templates, validation, and placeholder support
  • DropdownSelectorControlSettingsDescriptor - Dropdown/select controls with custom templates
  • MultiSelectFormControlSettingsDescriptor - Multi-select controls for collections with key field support
  • FormGroupSettingsDescriptor - Nested form groups with field settings and conditional directives
  • FormGroupArraySettingsDescriptor - Array-based form groups for managing collections
  • FormGroupBoxSettingsDescriptor - Container for grouping related form fields

Control Types

All descriptors inherit from FormItemSettingDescriptor and specify their type via the AbstractControlType enum:

  • InputFieldControl
  • DropdownSelectorControl
  • MultiSelectFormControl
  • FormGroup
  • FormGroupArray
  • GroupBox

Validation Configuration

  • FormValidationSettingDescriptor - Defines default values and validators for form controls
  • ValidatorDescriptionDescriptor - Specifies validator functions with configurable arguments
  • Support for custom validation messages per field

Conditional Logic

  • DirectiveDescriptor - Associates directives (show/hide, enable/disable) with condition groups
  • ConditionGroupDescriptor - Logical grouping of conditions with AND/OR operators
  • ConditionDescriptor - Individual conditions comparing variables and values
  • DirectiveDescriptionDescriptor - Defines the directive function to execute when conditions are met

Templates

  • TextFieldTemplateDescriptor - Custom templates for text input fields
  • FormGroupTemplateDescriptor - Custom templates for form groups
  • DropDownTemplateDescriptor - Custom templates for dropdown controls
  • MultiSelectTemplateDescriptor - Custom templates for multi-select controls

JSON Serialization

The library includes FormItemSettingDescriptorConverter, a custom JSON converter that enables polymorphic serialization and deserialization of form item descriptors using their TypeString property. This allows mixed collections of different descriptor types to be serialized and deserialized correctly.

Use Cases

  • Dynamic form generation in Angular, React, Vue, or other SPA frameworks
  • Configuration-driven form builders
  • Admin interfaces that need runtime form customization
  • Multi-tenant applications with per-tenant form configurations
  • Forms with complex conditional logic and dynamic validation rules

Target Framework

  • .NET Standard 2.0

Dependencies

  • LogicBuilder.Structures (8.0.2+)

License

MIT

Author

BlaiseD / BPS

Repository

https://github.com/BpsLogicBuilder/LogicBuilder.App.Spa.Forms.Configuration

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on LogicBuilder.App.Spa.Forms.Configuration:

Package Downloads
LogicBuilder.App.Spa.AutoMapperProfiles

This library serves as a shared location for mapping profiles which map the parameters encapsulating the form features defined in the logic builder to the serializable descriptors used to implement those features in a single page application (SPA) at runtime.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 66 7/29/2026

Making NuGet one of the release feeds.