我正在嘗試設定密碼和電子郵件驗證,但出現上述錯誤。任何幫助將不勝感激。上面的錯誤在 main.dart 代碼中,并且在代碼中被加粗了。
驗證器.dart 代碼
enum FormType { login, register }
class EmailValidator {
static String? validate(String value) {
return value.isEmpty ? "Email can't be empty" : null;
}
}
class PasswordValidator {
static String? validate(String value) {
return value.isEmpty ? "Password can't be empty" : null;
}
}
main.dart 代碼
List<Widget>buildInputs() {
return [
TextFormField(
validator: **EmailValidator.validate**,
decoration: InputDecoration(labelText: 'Email'),
onSaved: (value) => _email = value,
),
TextFormField(
validator: **PasswordValidator.validate**,
decoration: InputDecoration(labelText: 'Password'),
obscureText: true,
onSaved: (value) => _password = value,
),
];
}
uj5u.com熱心網友回復:
如果你檢查validator它回傳一個可為空的字串。
{String? Function(String?)? validator}
您可以轉換您的驗證器,例如
class EmailValidator {
static String? validate(String? value) {
return value==null || value.isEmpty ? "Email can't be empty" : null;
}
}
class PasswordValidator {
static String? validate(String? value) {
return value==null ||value.isEmpty ? "Password can't be empty" : null;
}
}
uj5u.com熱心網友回復:
您的validate函式嚴格接受非空引數。將您的函式簽名更改為static String? validate(String? value)(注意第二個之后的問號String),它將與所需的簽名匹配。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/462066.html
