除非填充文本输入,否则阻止导航到下一个屏幕

Blocking the navigation to the next screen unless the text input is populated

我正在尝试通过不允许用户转到下一个屏幕来向我的 PowerApps 应用程序添加一个条件,除非在文本输入中输入电子邮件。

如果用户没有输入电子邮件,我设法用红色突出显示缺少的字段并发出警告。然后我设法在没有电子邮件的情况下阻止导航前进。

但是,即使您输入电子邮件地址,它也不会让您导航到下一个屏幕。

//Email Error creation
UpdateContext({varEmailBlankError:
If(IsBlank(TextInput1_4),true,false)});

//No email generates error and stay
If(varEmailBlankError,
Notify("Fill all the fields to continue", NotificationType.Error));
Navigate('Cover',ScreenTransition.Cover);

//Or Go to next screen if populated
Navigate('Main Screen',ScreenTransition.Cover)

我假设您是在按钮的 OnSelect 属性 上创建的。您可以像这样简化您的方法:

If( IsBlank(TextInput1_4.Text) , Notify("Fill all the fields to continue", NotificationType.Error) , Navigate('Main Screen',ScreenTransition.Cover) )

您根本不需要从 Cover Screen 导航到 Cover Screen,只需要在用户想要下一步时检查该值是否已填写

然后,如果您需要提交的电子邮件,请将其从上下文中传递到您的主屏幕,如下所示:

Navigate('Main Screen',ScreenTransition.Cover, {submittedEmail: TextInput1_4.Text})

祝你有美好的一天