formdator

Formidable Validator — Formdator 是一个完全面向对象的包,用于在表单字段被处理之前验证它们。与其他类似的包相比,它的主要优点包括:

面向对象的思维:没有静态函数,只有可信的不可变对象。
易于组合的验证器,例如:Trim(ReqEmail()) 用于“修剪-必需-电子邮件”,它会在尝试验证输入的电子邮件之前先修剪它。
您可以同时应用多个验证规则——Rules 类。
具有简短但有意义名称的类,例如 Req 用于必填(非空)字段;ReqEmail 用于非空且格式正确的电子邮件;MinLen 用于最少字符数。
没有复杂的类层次结构:每个验证器只实现 Dart 内置的 call() 方法。
为了更方便地与 Flutter 表单的字段集成,每个验证器都实现了 call() 方法;因此,任何验证器都可以被视为一个普通函数。

入门
一个灵活的包,提供可选择和组合的组件,以满足用户需求。

作为这些组件组合的一个演示,下面的代码展示了如何轻松地组合 Trim 和 Email 来形成一个修剪过的电子邮件字段,并在电子邮件格式错误时提供自定义错误消息。

@override
Widget build(BuildContext context) {
return TextFormField(
onSaved: _onSaved,
validator: Trim(Email(mal: '无效的电子邮件。')),
keyboardType: TextInputType.emailAddress,
);
}
演示应用程序
演示应用程序提供了功能齐全的示例,重点在于展示四个验证器——Rules、ReqEmail 和 Equal——的实际应用。您可以获取此演示中的代码并进行实验。

运行演示应用程序

git clone https://github.com/dartoos-dev/formdator.git
cd formdator/example/
flutter run -d chrome
这应该会在 Chrome 浏览器中以调试模式启动演示应用程序。

GitHub

https://github.com/dartoos-dev/formdator