小编alp*_*hin的帖子

我如何在 flutter 中使用 formz 确认密码

当我想确认我的密码,但无法比较第一个和最后一个密码时。

这是我的密码类。它工作正常,但确认密码部分不行。

class Password extends FormzInput<String, PasswordValidationError> {
  const Password.pure() : super.pure('');
  const Password.dirty([String value = '']) : super.dirty(value);

  static final _passwordRegExp = RegExp(r'^[A-Za-z\d@$!%*?&]{8,}$');

  @override
  PasswordValidationError? validator(String value) {
    if (value.isEmpty) {
      return PasswordValidationError.empty;
    }
    return _passwordRegExp.hasMatch(value)
        ? null
        : PasswordValidationError.invalid;
  }
}
Run Code Online (Sandbox Code Playgroud)

你可以询问验证器中的值是多少。我来给你展示。

  void passwordChanged(String value) {
    final password = Password.dirty(value);
    emit(state.copyWith(
      password: password,
      status: Formz.validate(
          [state.name, state.email, password, state.confirmPassword]),
    ));
  }
Run Code Online (Sandbox Code Playgroud)

这是我的正常密码字段。现在让我们看一下确认部分。

class ConfirmPassword
    extends FormzInput<String, ConfirmedPasswordValidationError> {
  const ConfirmPassword.pure() : super.pure('');
  const ConfirmPassword.dirty([String value = '']) : …
Run Code Online (Sandbox Code Playgroud)

validation dart flutter bloc

5
推荐指数
1
解决办法
3793
查看次数

Firebase 通知图标为灰色

虽然我在stackoverflow中做了这个解决方案,但图标仍然是一样的。

    <meta-data   android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@mipmap/ic_launcher" />
Run Code Online (Sandbox Code Playgroud)

这里是顶部图标:

在此输入图像描述

当我滑动顶部栏时,我看到这个: 在此输入图像描述

哪里有问题?我还使用此网站创建透明图标:https://jgilfelt.github.io/AndroidAssetStudio/icons-notification.html#source.space.trim=1&source.space.pad=0&name=ic_stat_ic_launcher

我的 res 文件现在也是这样(来自上面链接的可绘制文件夹):

在此输入图像描述

图标在这里: 在此输入图像描述

push-notification firebase firebase-realtime-database flutter firebase-cloud-messaging

5
推荐指数
2
解决办法
6711
查看次数

EpisodeDetailsRouteArgs 不能为 null,因为它有必需的参数

我得到 EpisodeDetailsRouteArgs 不能为空,因为它有一个必需的参数这个错误,即使我传递了参数。

这是我的墨水池小部件:

   onTap: () {
              AutoRouter.of(context).replace(EpisodeDetailsRoute(
                podcastImageUrl: podcastImageUrl,
                podcastName: podcastName,
                podcastOwner: podcastOwner,
                podcastEpisodes: podcastEpisodes,
              ));
            },
Run Code Online (Sandbox Code Playgroud)

我的路由器:

@MaterialAutoRouter(
  replaceInRouteName: 'Page,Route',
  routes: <AutoRoute>[
    AutoRoute(page: IntroductionPage),
    AutoRoute(
      page: LoginPage,
    ),
    AutoRoute(page: HomePage),
    AutoRoute(page: EpisodeDetailsPage, initial: true),
  ],
)
class $AppRouter {}
Run Code Online (Sandbox Code Playgroud)

我的剧集详细信息页面:

class EpisodeDetailsPage extends StatelessWidget {
  const EpisodeDetailsPage({
    Key? key,
    required this.podcastImageUrl,
    required this.podcastName,
    required this.podcastOwner,
    required this.podcastEpisodes,
  }) : super(key: key);

  final String podcastImageUrl;
  final String podcastName;
  final String podcastOwner;
  final String podcastEpisodes;
  @override
  Widget build(BuildContext context) …
Run Code Online (Sandbox Code Playgroud)

router routes flutter

2
推荐指数
1
解决办法
1686
查看次数