Apache flex Flex 3.5验证程序错误消息重复
有人知道为什么错误消息会在Flex SDK 3.5中重复(但不是在3.4中),并且有一个好方法让它停止重复吗?请参见屏幕截图: 您还可以在此处看到不同的应用程序: [在两个应用上都启用了查看源] 要做到这一点,请将textInput字段留空,然后多次单击save。然后将鼠标移到文本输入上 我可以想出几个解决方案,但它们似乎相当粗糙 谢谢Apache flex Flex 3.5验证程序错误消息重复,apache-flex,Apache Flex,有人知道为什么错误消息会在Flex SDK 3.5中重复(但不是在3.4中),并且有一个好方法让它停止重复吗?请参见屏幕截图: 您还可以在此处看到不同的应用程序: [在两个应用上都启用了查看源] 要做到这一点,请将textInput字段留空,然后多次单击save。然后将鼠标移到文本输入上 我可以想出几个解决方案,但它们似乎相当粗糙 谢谢 下面是一个在3.5中修复此问题的方法 查看此文件的源: 将saveMessage()方法更改为如下所示: public function saveMes
下面是一个在3.5中修复此问题的方法 查看此文件的源: 将saveMessage()方法更改为如下所示:
public function saveMessage(event:Event):void
{
setupValidators();
var failedValidations:Array = new Array();
failedValidations = Validator.validateAll(_formValidators);
if (failedValidations.length == 0)
{
Alert.show("save it");
}
else
{
for each (var validationResultEvent:ValidationResultEvent in failedValidations)
{
hackForSDK35Bug22911ToRemoveRepeatingErrorMessages(validationResultEvent);
}
}
}
然后添加此方法:
private function hackForSDK35Bug22911ToRemoveRepeatingErrorMessages(failedValidation:ValidationResultEvent):void
{
var uiComponent:UIComponent = failedValidation.target.source as UIComponent;
var errorString:String = uiComponent.errorString as String;
uiComponent.errorString = errorString.split("\n")[0];
}
这应该会删除重复的错误消息,只留下一条…好的,这个问题似乎存在一个未解决的错误:查看我的应用程序的源代码后,你可能会想,为什么每次单击“保存”按钮时我都会创建一个新的验证程序。我这样做是因为有一个bug:(-你应该尽快迁移到Flex4,Jeremy。