我正在使用颤动禁用的文本字段,它与警报一起使用,在单击时提供一些选择。
在我的例子中,我使用下面类似流的代码来验证该值:
final validateGender =
StreamTransformer<String, String>.fromHandlers(handleData: (text, sink) {
if (text.isEmpty ||
text.toLowerCase() != 'male' ||
text.toLowerCase() != 'female') {
sink.addError('* Not choose yet');
} else {
sink.add(text);
}
});
Run Code Online (Sandbox Code Playgroud)
我创建了一个可以显示错误文本的文本字段:
StreamBuilder<String>(
stream: stream,
builder: (context, snapshot) {
return TextField(
enabled: enable,
autofocus: isAutoFocus ?? false,
onTap: onTap,
controller: controller,
onChanged: onChanged,
keyboardType: TextInputType.text,
decoration: InputDecoration(
errorText: snapshot.error,
border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(10.0)),
),
disabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(10.0)),
borderSide: BorderSide(color: Colors.gray, width: 1.0),
),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(10.0)),
borderSide: BorderSide(color: …Run Code Online (Sandbox Code Playgroud)