Android 颤振/飞镖:如何向单选按钮(如TextFormField)添加验证?
如何向颤振中的单选按钮添加验证?我知道有一个叫做的软件包,但我不想用它。有没有办法将验证添加到单选按钮?我想它验证它使用formkey,我不能发布代码,因为整个表单是动态的,我没有权限发布在线代码,所以任何帮助都是感激的。我可以定制一个单选按钮吗?我知道有点晚了。例如,只需使用FormBuilder即可 或者,如果在Form()中使用它,这是一个示例:Android 颤振/飞镖:如何向单选按钮(如TextFormField)添加验证?,android,flutter,dart,Android,Flutter,Dart,如何向颤振中的单选按钮添加验证?我知道有一个叫做的软件包,但我不想用它。有没有办法将验证添加到单选按钮?我想它验证它使用formkey,我不能发布代码,因为整个表单是动态的,我没有权限发布在线代码,所以任何帮助都是感激的。我可以定制一个单选按钮吗?我知道有点晚了。例如,只需使用FormBuilder即可 或者,如果在Form()中使用它,这是一个示例: FormField( builder: (FormFieldState<bool> state) {
FormField(
builder: (FormFieldState<bool> state) {
return Padding(
padding: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('Where is occurrence happened?'),
state.hasError
? Text(
state.errorText,
style: TextStyle(color: Colors.red),
)
: Container(),
RadioListTile(
...
onChanged: (SomeValueType value) {
...
state.setValue(true);
},
),
RadioListTile(
...
),
],
));
},
validator: (value) {
if (value != true) {
return 'Please choose location';
}
return null;
},
)
FormField(
生成器:(FormFieldState){
返回填充(
填充:边缘设置。全部(10),
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
Text('发生在哪里?'),
state.hasrerror
?文本(
state.errorText,
样式:TextStyle(颜色:Colors.red),
)
:Container(),
放射科医师(
...
onChanged:(SomeValueType值){
...
state.setValue(true);
},
),
放射科医师(
...
),
],
));
},
验证器:(值){
如果(值!=true){
返回“请选择位置”;
}
返回null;
},
)
在这段代码中,当您调用FormState.validate()时,验证器将运行,然后显示错误文本。我知道时间有点晚了。例如,只需使用FormBuilder即可 或者,如果在Form()中使用它,这是一个示例:
FormField(
builder: (FormFieldState<bool> state) {
return Padding(
padding: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('Where is occurrence happened?'),
state.hasError
? Text(
state.errorText,
style: TextStyle(color: Colors.red),
)
: Container(),
RadioListTile(
...
onChanged: (SomeValueType value) {
...
state.setValue(true);
},
),
RadioListTile(
...
),
],
));
},
validator: (value) {
if (value != true) {
return 'Please choose location';
}
return null;
},
)
FormField(
生成器:(FormFieldState){
返回填充(
填充:边缘设置。全部(10),
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
Text('发生在哪里?'),
state.hasrerror
?文本(
state.errorText,
样式:TextStyle(颜色:Colors.red),
)
:Container(),
放射科医师(
...
onChanged:(SomeValueType值){
...
state.setValue(true);
},
),
放射科医师(
...
),
],
));
},
验证器:(值){
如果(值!=true){
返回“请选择位置”;
}
返回null;
},
)
在该代码中,当您调用FormState.validate()时,验证程序将运行,然后显示错误文本。您所说的“验证”是什么意思?根据定义,单选按钮是有效的。它有两个状态,开和关,如果其中一个状态无效,您就不需要单选按钮。这个答案对我帮助很大:。@UTKARSHSharma我不能,因为字段是动态的,否则很容易。@nvoigt validate意味着像TextFormField一样检查用户是否选择了值。默认情况下,在我们的应用程序中,我们不能给用户一个默认值,这就是为什么需要验证的原因。@FarrukhSajjad谢谢,但正如我在问题中已经说过的,我不想使用该插件。“验证”是什么意思?根据定义,单选按钮是有效的。它有两个状态,开和关,如果其中一个状态无效,您就不需要单选按钮。这个答案对我帮助很大:。@UTKARSHSharma我不能,因为字段是动态的,否则很容易。@nvoigt validate意味着像TextFormField一样检查用户是否选择了值。默认情况下,在我们的应用程序中,我们不能给用户一个默认值,这就是为什么需要验证的原因。@FarrukhSajjad谢谢,但正如我在问题中已经说过的,我不想使用该插件。