【发布时间】:2019-07-18 13:25:00
【问题描述】:
我有 3 个TextFormFields 用于在 Flutter Form 上输入电话号码(白天、晚上和移动)。
验证每个TextFormField(在validator: 中)允许输入一个空白字符串。
但我不希望保存表单,除非至少输入一个电话号码。
formKey.currentState.validate 显然会验证所有单个字段是否有效。
那么框架中是否有一种简单的方法来交叉验证所有 TextFormFields 并显示错误,而无需为每个 TextFormField 编写单独的验证器并包含对特定字段名的引用(其中我认为这是一个肮脏的黑客)例如
String _validatePhoneNumber(String value) {
// dirty bit - means I have to write a separate validator for each TextFormField rather than use a generic validator
if (value.isEmpty && this.eveningNumber.isEmpty && this.mobileNumber.isEmpty)
return 'At least one number must be included';
if (value.isEmpty) return null;
if (_invalidNumber(value))
return 'Enter a valid phone number';
return null;
}
【问题讨论】:
标签: flutter dart flutter-layout