flutter - Form表单验证

表单验证

在这里插入图片描述

class FormWidget extends StatefulWidget {
  @override
  _FormWidgetState createState() => _FormWidgetState();
}

class _FormWidgetState extends State<FormWidget> {
  GlobalKey<FormState> formGlobalKey = GlobalKey<FormState>();
  String userName;
  String pwd;
  void save() {
    var form = formGlobalKey.currentState;
    if (form.validate()) {
      form.save();
      print(userName + "," + pwd);
    }
  }

  void reset() {
    var form = formGlobalKey.currentState;
    form.reset();
  }

  @override
  Widget build(BuildContext context) {
    return Form(
      key: formGlobalKey,
      child: Column(
        children: [
          TextFormField(
            decoration: InputDecoration(
              labelText: "姓名",
            ),
            // ignore: missing_return
            validator: (content) {
              if (content.length > 8) {
                return "姓名过长";
              } else if (content.length <= 0) {
                return "姓名过短";
              }
            },
            onSaved: (value) {
              userName = value;
            },
          ),
          TextFormField(
            obscureText: true,
            decoration: InputDecoration(
              labelText: "密码",
            ),
            // ignore: missing_return
            validator: (content) {
              if (content.length < 8) {
                return "密码过短";
              }
            },
            onSaved: (value) {
              pwd = value;
            },
          ),
          RaisedButton(
            onPressed: save,
            child: Text("保存"),
          ),
          RaisedButton(
            onPressed: reset,
            child: Text("重置"),
          )
        ],
      ),
    );
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值