点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我要求在"简单属性"控件中输入的字符数不能超过5个。
在OnValueChange事件中,我使用以下代码添加了一条规则。
var上下文; 导出默认功能InspectionShortTextValidation(context){ //使检查短文字不超过5个字符 var inspectionShortTextValue = context.getValue(); var maxLength = 5; 如果(inspectionShortTextValue.length> 5){ var trimmedValue = inspectionShortTextValue.substring(0,maxLength); context.setValue(trimmedValue); } }
尽管有效,但似乎在某些情况下不会触发事件。
例如,当我键入" 123456"时,它将触发事件并将字符串正确更改为" 12345",这将导致事件再次触发,因为虽然不是用户输入,但代码中的值已更改 。 但是,当我再次尝试添加" 6"时,由于某种原因该事件未触发,并且将" 123456"保留为有效输入。 我需要进行其他更改才能触发该事件。
我如何避免这种情况。 我做的方式错了吗? 还是有办法确定更改是由用户输入还是由代码引起的?
谢谢。
这似乎是一个错误,如果您尝试按照以下顺序进行操作,即12345、6、7等,那么它将起作用。 但是当您有12345、6、6时,第二次失败。 我们将向开发团队报告。
谢谢 Ashish Jain 期待你的答复。 是的,您说的话似乎是正确的。
调用setValue将修剪后的值放回该字段时,您还可以指定第二个(可选)参数来指示 setValue 应该通知控件, 值已更改。
感谢您 Bill Froelich 。 通过添加false参数,我能够停止从代码触发事件。
一周热门 更多>