All Projects → wix → Accord

wix / Accord

Licence: other
Accord: A sane validation library for Scala

Programming Languages

scala
5932 projects
dsl
153 projects
macros
77 projects

Projects that are alternatives of or similar to Accord

Ratifier
Ratifier is a form validation library for Android.
Stars: ✭ 123 (-76.3%)
Mutual labels:  validation, library
Inapppy
Python In-app purchase validator for Apple AppStore and GooglePlay.
Stars: ✭ 110 (-78.81%)
Mutual labels:  validation, library
Restless
Express.js api, type safe validations and more
Stars: ✭ 32 (-93.83%)
Mutual labels:  validation, library
V8n
☑️ JavaScript fluent validation library
Stars: ✭ 3,858 (+643.35%)
Mutual labels:  validation, library
Svelte Forms Lib
📝. A lightweight library for managing forms in Svelte
Stars: ✭ 238 (-54.14%)
Mutual labels:  validation, library
Validatetor
Android library for fast and simple string validation
Stars: ✭ 136 (-73.8%)
Mutual labels:  validation, library
Lcformvalidation
Javascript based form validation library, third party library / framework agnostic.
Stars: ✭ 58 (-88.82%)
Mutual labels:  validation, library
Php Validate
Lightweight and feature-rich PHP validation and filtering library. Support scene grouping, pre-filtering, array checking, custom validators, custom messages. 轻量且功能丰富的PHP验证、过滤库。支持场景分组,前置过滤,数组检查,自定义验证器,自定义消息。
Stars: ✭ 225 (-56.65%)
Mutual labels:  validation, library
Easyvalidation
✔️ A text and input validation library in Kotlin for Android
Stars: ✭ 328 (-36.8%)
Mutual labels:  validation, library
Bunny
BunnyJS - Lightweight native (vanilla) JavaScript (JS) and ECMAScript 6 (ES6) browser library, package of small stand-alone components without dependencies: FormData, upload, image preview, HTML5 validation, Autocomplete, Dropdown, Calendar, Datepicker, Ajax, Datatable, Pagination, URL, Template engine, Element positioning, smooth scrolling, routing, inversion of control and more. Simple syntax and architecture. Next generation jQuery and front-end framework. Documentation and examples available.
Stars: ✭ 473 (-8.86%)
Mutual labels:  validation, library
Jot
Jot is a library for persisting and applying .NET application state.
Stars: ✭ 496 (-4.43%)
Mutual labels:  library
Instapy Cli
✨ Python library and CLI to upload photo and video on Instagram. W/o a phone!
Stars: ✭ 498 (-4.05%)
Mutual labels:  library
Pycnn
Image Processing with Cellular Neural Networks in Python
Stars: ✭ 509 (-1.93%)
Mutual labels:  library
Telethon
Pure Python 3 MTProto API Telegram client library, for bots too!
Stars: ✭ 5,805 (+1018.5%)
Mutual labels:  library
Garland View
≡ GarlandView seamlessly transitions between multiple lists of content. Swift UI library made by @Ramotion
Stars: ✭ 496 (-4.43%)
Mutual labels:  library
Pmhttp
Swift/Obj-C HTTP framework with a focus on REST and JSON
Stars: ✭ 509 (-1.93%)
Mutual labels:  library
Ical4j
A Java library for parsing and building iCalendar data models
Stars: ✭ 493 (-5.01%)
Mutual labels:  library
Spannedgridlayoutmanager
Android RecyclerView.LayoutManager that resizes and reorders views based on SpanSize
Stars: ✭ 492 (-5.2%)
Mutual labels:  library
Circular Carousel
List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center.
Stars: ✭ 493 (-5.01%)
Mutual labels:  library
Sinatra Param
Parameter Validation & Type Coercion for Sinatra
Stars: ✭ 516 (-0.58%)
Mutual labels:  validation

Build Status Gitter Maven Central Scala.js

Overview

Accord

Accord is a validation library written in and for Scala. Compared to JSR 303 and Scalaz validation it aims to provide the following:

  • Composable: Because JSR 303 is annotation based, validation rules cannot be composed (annotations cannot receive other annotations as parameters). This is a real problem with some Scala features, for example Options or collections. Accord's validation rules are trivially composable.
  • Simple: Accord provides a dead-simple story for validation rule definition by leveraging macros, as well as the validation call site (see example below).
  • Self-contained: Accord is macro-based but completely self-contained, and consequently only relies on the Scala runtime and reflection libraries.
  • Integrated: Other than providing its own DSL and matcher library, Accord is designed to easily integrate with the larger Scala ecosystem, and provides out-of-the-box support for Scala.js, as well as integration modules for Spring Validation, Specs2 and ScalaTest.

For proper user guide and additional documentation please refer to project website.

Accord is developed and used at Wix.com and distributed under the Apache License, Version 2.0, which basically means you can use and modify it freely. Feedback, bug reports and improvements are welcome!

Roadmap

Accord is still fairly rudimentary, and there's plenty of improvements to be made:

  • The 0.8 milestone lists the planned improvements for the next release.
  • Some future plans/ideas:
    • Performance benchmarks
    • Elide DSL implicit invocations from resulting tree for better performance and smaller code
    • Add syntax for custom violation message overrides (e.g. p.firstName is notEmpty as "no first name!")
    • Support custom violation types (e.g. p.firstName is notEmpty as MyServerError( code = -3 ))
    • Full-blown i18n support (need feedback on this)

Ideas and feature requests welcome! You can join the fun on our Gitter channel, report an issue or contact the maintainer directly.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].