【发布时间】:2019-08-28 03:32:00
【问题描述】:
我在我的颤振应用程序中为我的表单动态生成文本字段。请检查以下代码
Widget _buildInputFields(
String label,
TextEditingController textController,
TextInputType textInputType,
IconData icon,
Color iconColor,
) {
return Container(
margin: EdgeInsets.only(left: 20, bottom: 20),
child: Container(
padding: EdgeInsets.only(right: 20),
child: Row(
children: <Widget>[
Flexible(
child: TextFormField(
controller: textController,
validator: (value) {
if (value.isEmpty) {
return 'Please enter some text';
}
},
style: new TextStyle(color: Colors.white),
keyboardType: textInputType,
decoration: InputDecoration(
labelText: label,
fillColor: Colors.white,
labelStyle: TextStyle(
color: Colors.white, fontWeight: FontWeight.w600),
enabledBorder: OutlineInputBorder(
borderSide:
const BorderSide(color: Colors.white30, width: 2.0),
borderRadius: BorderRadius.circular(25.0),
),
suffixIcon: IconButton(
icon: Icon(icon, color: iconColor),
onPressed: () {},
)),
),
),
],
),
));
}
上面的方法返回一个TextFormField我需要的样式,所以我不必重新编码数百次。我只是调用该方法,我得到一个新的TextFormField
无论如何,我需要进行表单验证,每个字段都有不同的验证。在颤振中,如何将validator 传递给textformfield?
【问题讨论】: