【问题标题】:Flutter validator syntax erorFlutter 验证器语法错误
【发布时间】:2021-09-22 22:30:09
【问题描述】:

程序说:参数类型String Function(String)不能分配给参数类型String? 函数(字符串?)?`。在验证器中并在行下,我写了 错误。

import 'package:asdasd/Validation/Student_Validator.dart';
import 'package:asdasd/models/Student.dart';
import 'package:flutter/material.dart';

class StudentAdd extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _StudentAddState();
  }
}

class _StudentAddState extends State with StudentValidationMixin {
  var student = Student.withoutinfo();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Yeni öğrenci ekleme "),
      ),
      body: Container(
         margin: EdgeInsets.all(20.0),
        child: Form(
          child: Column(
            children: <Widget>[
              TextFormField(
                decoration: InputDecoration(
                    labelText: "Öğrencinin Adı", hintText: "Musa Develi"),
                    validator: validateFirstName,//eror
                    onSaved: (String value){//eror
                      student.firstName=value;//eror
                    },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class StudentValidation {
}

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    我猜validateFirstName 是一个函数,对吧?您必须使您的验证器功能与验证器相同,

    String? Function(String?)
    

    StringString?不一样,第一个表示值不能为null,第二个表示可以为null。

    这是因为null-safety 已启用

    【讨论】:

    • 如何正确书写?
    • 查看null-safety文档,它将详细解释所有内容
    猜你喜欢
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    相关资源
    最近更新 更多