我对如何使用验证程序有疑问。我看不到哪里弄错了。我写的代码是,当单击一个按钮时,它会弹出一个对话框,并要求用户输入名称。
viz3.score(X_test, y_test)
# 0.88
# verify this is the accuracy:
from sklearn.metrics import accuracy_score
accuracy_score(y_test, clf_lr.predict(X_test))
# 0.88
除了验证器部分,代码可以正常工作,完成我打算做的所有事情。 我在这里想念任何东西吗?
谢谢。
答案 0 :(得分:0)
为了使验证有效,您有两个选择,因为您没有触发验证,所以代码是正确的:
if (_formKey.currentState.validate()) {}
这将触发验证
autovalidate:true
使用Form
参数(在1.19之后弃用)。现在您需要使用AutovalidateMode
,并且有一些选项,例如onUserInteraction
和always
和disabled
。 Yu可以检查docs以获得更多信息。答案 1 :(得分:0)
您应该像这样在onPress Button中检查验证
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
FlatButton(
onPressed: () {
showDialog(
context: context,
builder: (_) => Dialog(
child: Form(
key: _formKey,
child: Column(
children: [
TextFormField(
key: _formKey,
controller: roomController,
validator: (String value) {
if (value.isEmpty) {
return 'Please create name';
} else if (NameList.contains(value)) {
return 'Existed';
}
return null;
},
),
RaisedButton(
onPressed: () {
if(_formKey.currentState.validate()){
return //someting
}
},
child: Text('Create'),
),
],
),
),
),
);
},
child: Text('Create'),
),