【发布时间】:2019-09-30 06:26:38
【问题描述】:
我有一个关于修剪功能的问题。当我使用修剪时,它不起作用。当我添加空格然后使用修剪功能但我的验证仍然是正确的。而不是修剪必须删除所有空白。希望你明白这个问题。提前谢谢你。
Widget _buildUserNameField() {
return EnsureVisibleWhenFocused(
focusNode: _emailFocusNode,
child: TudoEmailWidget(
focusNode: _emailFocusNode,
prefixIcon: Icon(Icons.email),
labelText: AppConstantsValue.appConst['login']['email']['translation'],
validator: Validators().validateEmail,
onSaved: (val) => _username = val.trim(),
),
);
}
【问题讨论】:
-
trim()方法只删除前导和尾随空格。要删除所有空格,您可以使用正则表达式,请参阅stackoverflow.com/questions/51508321/… -
是的,我只想删除尾随空格
-
当我添加电子邮件时,我添加了单个空格,然后验证变为真,它将显示无效电子邮件的错误。那是我使用修剪方法从轨迹中删除空间,但它不起作用
-
onSaved事件仅在您执行form.save()时调用。如果您想在提交表单之前验证值,只需通过这种方式将值传递给您的验证器:validator: (val) => Validators().validateEmail(val.trim())并更新您的validateEmail以接受参数。 -
只删除尾随空格使用trimRight()函数
标签: validation flutter error-handling flutter-layout trim