尽管 SurveyJS 中存在验证错误,但如果时间已过,如何更改页面?

问题描述 投票:0回答:1

目前,如果问题有验证器或需要验证器,则尽管过了时间限制,页面也不会更改。常见的情况是用户应该能够更快地结束页面,但前提是他们做得正确。让我们想象一下课堂测试。测试中的所有问题都是必需的,因此学生不会错误地跳过问题。但如果达到了时间限制,他们应该就无法完成剩下的问题了。现在,计时器停留在 0:00,验证器显示错误。

我的解决方法是删除所有验证器,并在达到时间限制时将

isRequired
设置为 false,但我认为我在这里遗漏了一些东西。

// for a single question
survey.onTimerTick.add((sender, options) => {
  if (
    survey.currentPage.name === "myPage" &&
    survey.currentPage.timeSpent >= survey.currentPage.maxTimeToFinish
  ) {
    const Q = survey.getQuestionByName("myQuestion");
    Q.clearErrors();
    Q.setPropertyValue("validators", []);
    Q.setPropertyValue("isRequired", false);
  }
});

我尝试通过设置

currentPage
属性手动更改页面,但结果导致页面更改两次。

surveyjs
1个回答
0
投票

您可以设置

survey.validationAllowSwitchPages = true;

选项

© www.soinside.com 2019 - 2024. All rights reserved.