0

我开发了一个教练视图,在其中我正在对按钮单击进行验证。在验证成功或失败的情况下,控件保留在页面上,但对于特定字段的验证失败,将生成警报。

我只直接与教练附加了一个脚本,该脚本在特定字段上填充 tw.system.coachValidation 以防任何验证失败,否则它只会停留在页面上。

如果我输入无效输入并且验证失败,我会收到有关输入的警报,但是当我再次单击该按钮时,它会显示:“服务器上的任务或服务的状态已更改。例如,您可能已经打开同一个任务两次。关闭此窗口并重新运行任务。

我在教练上将选项“火灾验证”属性设置为“之前”。这是验证脚本活动中的脚本。

if ( tw.local.NewPolicy.genderValue == "" || tw.local.NewPolicy.genderValue == null){ tw.system.addCoachValidationError(tw.system.coachValidation, "tw.local.NewPolicy.genderValue", "Please select the Gender"); }

function getAge(dateString) { var today = new Date(); var birthDate = new Date(dateString); var age = today.getFullYear() - birthDate.getFullYear(); var m = today.getMonth() - birthDate.getMonth(); if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) { age--; } return age; }

if ( tw.local.NewPolicy.highestEducationValue == "" || tw.local.NewPolicy.highestEducationValue == null){ tw.system.addCoachValidationError(tw.system.coachValidation, "tw.local.NewPolicy.highestEducationValue", "Please select the level of Education");

if (tw.system.coachValidation.validationErrors.listLength == 0) { tw.local.AcceptBtnColor = true; tw.local.Quote = "Quote \r\n This is a Quote" }

如果没有验证失败,在返回屏幕时,我可以根据需要多次单击按钮,并且教练不会关闭,但是,如果/当第一次验证失败并且在失败的特定字段上出现警报验证,一旦我再次按下按钮,教练就会关闭。我看不出出了什么问题。任何帮助将不胜感激。

4

1 回答 1

0

您是否尝试在验证脚本的开头清除 validationErrors 对象?

tw.system.coachValidation = new tw.object.CoachValidation();
tw.system.coachValidation.validationErrors = new tw.object.listOf.CoachValidationError();

另外一点,我认为您不能设置 tw.local.AcceptBtnColor 和 tw.local.Quote 的值。也许这个特性会根据 IBM BPM 的版本而有所不同,但我相信不可能在验证脚本上设置变量。

于 2017-05-22T10:03:25.140 回答