Skip to content

DATA VALIDATION FOR DART & FLUTTER

Good data.
From the start.

Define a schema. Parse typed values, transform input, and get structured issues when validation fails.

dart pub add acanthisOne package. Dart & Flutter.

Your first schemaDart
dart
import 'package:acanthis/acanthis.dart';

final account = object({
  'name': string().min(2),
  'email': string().email(),
});

final result = account.tryParse({
  'name': 'Ada',
  'email': 'ada@example.com',
});

print(result.isValid); // true
if (result is AcanthisValid<Map<String, Object?>>) {
  print(result.value['name']); // Ada
}
Define once. Reuse wherever data comes in.

FROM INPUT TO CONFIDENCE

Every detail.
Checked.

Give your data a shape. Get validated values or an issue that points to what needs fixing.

MEET ACANTHIS 2.0

An edit.
A check.
A clear answer.

Keep validation close to the field. Live sessions track edits, async checks, and useful errors as your data changes.

Explore live validation
A little room to experiment PREVIEW

Email looks good.

Try an example
FIELD RESULTValid
/account/email

This field is ready to use.

Illustrative preview with a simulated async check.

THE DOCUMENTATION

A clear path from input to output.

Already using Acanthis?

Live validation →JSON Schema →Migrating to 2.0 →

Built by Avesbox · Made for Dart & Flutter