【发布时间】:2022-08-15 18:08:17
【问题描述】:
如何以编程方式在 Flutter 的 textform 字段中检查 Aadharcard、驾驶执照和 Pan Card 格式的有效性?
标签: flutter validation dart
如何以编程方式在 Flutter 的 textform 字段中检查 Aadharcard、驾驶执照和 Pan Card 格式的有效性?
标签: flutter validation dart
最快和最简单的解决方案是使用正则表达式:
extension AadharNumberValidator on String {
bool isValidAadharNumber() {
return RegExp(
r'^[2-9]{1}[0-9]{3}\\s[0-9]{4}\\s[0-9]{4}$')
.hasMatch(this);
}
}
extension PanCardValidator on String {
bool isValidPanCardNo() {
return RegExp(
r'^[A-Z]{5}[0-9]{4}[A-Z]{1}$')
.hasMatch(this);
}
}
extension DrivingLicense Validator on String {
bool isValidLicenseNo() {
return RegExp(
r'^(([A-Z]{2}[0-9]{2})( )|([A-Z]{2}-[0-9]{2}))((19|20)[0-9][0-9])[0-9]{7}$')
.hasMatch(this);
}
}
并使用 String 的扩展名进行验证
TextFormField(
autovalidate: true,
validator: (input) => input.isValidAadharNumber() ? null : "Check your aadhar number",
)
【讨论】:
您可以使用正则表达式来验证所有类型的模式。像 Pancard 一样有 ABCDE111F 之类的模式。 Aadhar 卡只是 12 位数字等等。
【讨论】: