Flutter微框架Nylo(十六):NyTextField组件

196 阅读1分钟

NyTextField是一个文本输入框组件,提供了表单校验,开发中添加假数据的功能。

验证

您可以通过提供 validationRules 参数来处理文本字段的验证,如以下示例所示。

TextEditingController _textEditingController = TextEditingController();
  
@override
Widget build(BuildContext context) {
  return Scaffold(
    body: SafeArea(
       child: Container(
         child: NyTextField(
             controller: _textEditingController, 
             validationRules: "not_empty|postcode_uk"
         ),
       ),
    ),
  );
}

可以将验证规则传递到参数中 validationRules 。在前面校验章节查看所有可用的验证规则。

验证错误消息

当文本字段验证失败时,将抛出错误信息。您可以通过设置 validationErrorMessage 参数来更新错误信息。您所需要做的就是传入您希望在出错时显示的信息。

TextEditingController _textEditingController = TextEditingController();
  
@override
Widget build(BuildContext context) {
  return Scaffold(
    body: SafeArea(
       child: Container(
         child: NyTextField(
             controller: _textEditingController, 
             validationRules: "not_empty|postcode_uk",
             validationErrorMessage: "Data is not valid"
         ),
       ),
    ),
  );
}

假数据

在测试、开发应用程序时,您可能希望在文本字段中显示一些虚假数据,以加快开发速度。您可以设置 dummyData 参数,以便在应用程序的 .env 处于 "developing "时填充字段。

  1. 在 .env 文件中,您已将APP_ENV设置为“developing”
  2. 然后,使用带有 dummyData 参数的 NyTextField 类来填充字段。
// 1 - .env
APP_NAME="Nylo"
APP_ENV="developing"
...

// 2 - 使用NyTextField的组件
TextEditingController _textEditingController = TextEditingController();
  
@override
Widget build(BuildContext context) {
  return Scaffold(
    body: SafeArea(
       child: Container(
         child: NyTextField(
             controller: _textEditingController, 
             validationRules: "not_empty|postcode_uk",
             dummyData: "B3 1JJ" // 显示的值
         ),
       ),
    ),
  );
}

如果您需要动态设置虚拟数据,请尝试像 faker 这样的第三方包。