Skip to content

A generic purpose validation library for server side Swift projects.

License

Notifications You must be signed in to change notification settings

feather-framework/feather-validation

Repository files navigation

Feather Validation

A validation library for server-side Swift projects.

Release: 1.0.0-beta.1

Features

  • Key-value based validation primitives
  • Composable rules for string and integer validation
  • Async and grouped validation strategies
  • Foundation-based rules for URL, email, password, and character sets

Requirements

Swift 6.1+ Platforms: Linux, macOS, iOS, tvOS, watchOS, visionOS

  • Swift 6.1+

  • Platforms:

    • Linux
    • macOS 15+
    • iOS 18+
    • tvOS 18+
    • watchOS 11+
    • visionOS 2+

Installation

Use Swift Package Manager; add the dependency to your Package.swift file:

.package(url: "https://github.com/feather-framework/feather-validation.git", exact: "1.0.0-beta.1"),

Then add FeatherValidation (and optionally FeatherValidationFoundation) to your target dependencies:

.product(name: "FeatherValidation", package: "feather-validation"),
.product(name: "FeatherValidationFoundation", package: "feather-validation"),

Usage

Validation examples are available in:

  • Tests/FeatherValidationTests/FeatherValidationTestSuite.swift
  • Tests/FeatherValidationFoundationTests/Rule+CharacterSetTestSuite.swift
  • Tests/FeatherValidationFoundationTests/Rule+EmailTestSuite.swift
  • Tests/FeatherValidationFoundationTests/Rule+PasswordTestSuite.swift
  • Tests/FeatherValidationFoundationTests/Rule+URLTestSuite.swift

Warning

This repository is a work in progress, things can break until it reaches v1.0.0.

Development

  • Build: swift build
  • Test: make test
  • Format: make format
  • Lint: make lint

Contributing

Pull requests are welcome. Please keep changes focused and include tests for new logic.

About

A generic purpose validation library for server side Swift projects.

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •