Open-VE: Centralized and Consistent Data Validation Engine

A powerful solution that simplifies the management of validation rules, ensuring consistent validation across all layers, including frontend, BFF, and microservices, through a single, simple API.
Open-VE offers an HTTP API and a gRPC API. We currently provide a Go and TypeScript SDK.
Features
π Centralized Validation Logic Management
Manage validation rules in one place using Common Expression Language (CEL), ensuring language-agnostic consistency of validation across your system.
π API-Based Validation Management and Query
Register, update, retrieve, and query validation rules through a simple and consistent API, enabling seamless validation checks and eliminating the need for custom logic at various application layers.
π Schema Auto Generation
Generate Open-VE Schame from OpenAPI and Protobuf definitions for ease of integration.
π§ͺ Schema Unit Testing
Validate Open-VE schema correctness with built-in unit testing capabilities.
π Distributed Validation Logic Management for Microservices
Supports master-slave architecture for distributed validation management. Improve scalability and compatibility with microservice environments.
Getting Started
brew
brew install shibukazu/tap/open-ve
open-ve run
Build From Source
go build -o open-ve go/cmd/open-ve/main.go
./open-ve run
Docker Compose
docker-compose up
Reference
Example
Documents
Limitation
CEL
We only support the basic types of CEL currently.
Type |
Support |
Future Support |
int |
β
|
|
uint |
β
|
|
double |
β
|
|
bool |
β
|
|
string |
β
|
|
bytes |
β
|
|
list |
|
β
|
map |
|
β
|
null_type |
|
β |
message names |
|
β |
type |
|
β |