Flutter规则验证插件zam_rules的使用
Flutter规则验证插件zam_rules的使用
zam_rules
是一个实用库,包含了一组最常用的规则。该库可以帮助开发者在Flutter应用中进行各种规则验证。
包含的内容
小数规则
DecimalRangeRule
LesserThanDecimalRule
GreaterThanDecimalRule
LesserThanOrEqualToDecimalRule
GreaterThanOrEqualToDecimalRule
PositiveDecimalRule
数字规则
NumberRangeRule
LesserThanNumberRule
GreaterThanNumberRule
PositiveNumberRule
PositiveNumberRangeRule
PercentNumberRule
EightBitNumberRule
ThirtyTwoBitNumberRule
文本规则
TextStartsWithRule
MatchOnePatternRule
EndsWithPatternMatcherRule
PatternMatcherRule
RegexMatcherRule
StartsWithPatternMatcherRule
TextStartsWithRule
您可以在这里详细了解所有组件:详细信息
如何使用
以下是一个简单的示例,展示如何使用 TextStartsWithRule
进行文本验证:
import 'package:zam_rules/zam_rules.dart';
void main() {
final text = 'Sony Xperia';
final pattern = 'Sony';
final rule = TextStartsWithRule(text, pattern, value: text);
final ruleResponse = rule.execute();
print(ruleResponse.isSuccess); // true
}
状态
贡献者
许可证
本项目采用 BSD 3-Clause License 许可证。
完整示例Demo
以下是一个完整的示例Demo,展示了如何使用多个规则进行验证:
import 'package:flutter/material.dart';
import 'package:zam_rules/zam_rules.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('zam_rules Example')),
body: Center(
child: RuleValidationExample(),
),
),
);
}
}
class RuleValidationExample extends StatefulWidget {
[@override](/user/override)
_RuleValidationExampleState createState() => _RuleValidationExampleState();
}
class _RuleValidationExampleState extends State<RuleValidationExample> {
String text = 'Sony Xperia';
String pattern = 'Sony';
bool isTextValid = false;
bool isNumberValid = false;
void validateText() {
final rule = TextStartsWithRule(text, pattern, value: text);
final ruleResponse = rule.execute();
setState(() {
isTextValid = ruleResponse.isSuccess;
});
}
void validateNumber() {
final number = 123;
final rule = PositiveNumberRule(number);
final ruleResponse = rule.execute();
setState(() {
isNumberValid = ruleResponse.isSuccess;
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextField(
onChanged: (value) {
setState(() {
text = value;
});
},
),
ElevatedButton(
onPressed: validateText,
child: Text('Validate Text'),
),
Text(isTextValid ? 'Text is valid' : 'Text is invalid'),
SizedBox(height: 20),
ElevatedButton(
onPressed: validateNumber,
child: Text('Validate Number'),
),
Text(isNumberValid ? 'Number is valid' : 'Number is invalid'),
],
);
}
}
更多关于Flutter规则验证插件zam_rules的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复