如果我有以下导航规则:
<navigation-rule>
<from-view-id>Mainview</from-view-id>
<navigation-case>
<from-outcome>outcome1</from-outcome>
<to-view-id>view1</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>outcome2</from-outcome>
<to-view-id>view2</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-outcome>outcome3</from-outcome>
<to-view-id>view3</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
如果整个流程没有任何验证错误,一切都会正常工作。那是 :
步骤 1) MainForm 中的方法返回结果 1 渲染视图 1 步骤 2) 视图 1 中的方法返回结果 2 渲染视图 2 步骤 3) 视图 2 中的方法返回结果 3 渲染视图 3
请注意,上述规则中没有重定向,这意味着浏览器将在浏览器窗口中显示 Mainview。
如果在上面的第 2 步,验证失败,那么浏览器将在地址栏中显示 view1 而不是显示 view2 。
现在,对于下一个流程(一旦验证成功),起点将不是 Mainview,而是 view1,这意味着导航案例必须用 view1 编写
如何处理?我们是否需要编写另一套导航规则?或者像上面这样设计导航规则是完全错误的?