如何解决Appian 字段验证擦除字段值
我有一个 appian 表单,其中包含只接受数字的字段。 有一个提交按钮和一个取消按钮。
但是,我无法使按钮在验证失败时恢复原始值。
当点击提交按钮时,如果值不是数字,应该会出现错误信息并恢复原始值。 当点击取消按钮时,应恢复原始值。
这是我在该字段上使用的验证:
validation: if(typeof(local!myLocalObject.numField1)<>1,"This field must have a numeric value",null
)
取消按钮包含以下代码:
saveInto: {
...
a!save(local!myLocalObject.numField1,ri!retrievedFromDB.numField1),...
}
保存按钮包含以下代码:
saveInto: {
...
if(typeof(local!myLocalObject.numField1)<>1,a!save(local!myLocalObject.numField1,null
)
...
}
这就是发生的事情:
当我将值更改为文本并单击提交时,
但是会发生什么,该字段变为空白,根本没有值,也没有错误消息。然后它可以作为 null 保存到数据库中,这是一个错误。
(注意,当我点击该字段时也会发生这种情况)
字段类型为textField,其值和saveinto都设置为local!myLocalObject.numField1
我尝试使用 integerField 代替,但是当我取消保存时,它无法恢复原始值:
解决方法
这是解决方案。当你这样做时:
local!myLocalObject: 'type:...'(
...
numericField1 : ri!ruleInput.numericField1,...
)
textField: {
label: "Numeric Field 1",value: local!myLocalObject.numericField1,saveInto: local!myLocalObject.numericField1
...
}
myLocalObject.numericField1 预定义为具有数值,因为 myLocalObject 与规则输入的类型相同。所以文本字段会自动解析你在那里输入的任何内容。
这是我正在使用的解决方法:
local!myNumericField1 : ri!ruleInput.numericField1,textField: {
label: "Numeric Field 1",value: local!myNumericField1,saveInto: local!myNumericField1
...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。