【问题标题】:Flex validator issueFlex 验证器问题
【发布时间】:2011-01-13 20:23:53
【问题描述】:

我正在使用 flex 3.5,但验证器有问题。我有一个动态具有 o 的字段没有分配验证器,问题是在特定时刻该字段没有分配验证器,但 textInput 有一个红色边框。

我不知道我要删除红色标记点什么?

这是我的验证器的示例:

这是验证器:

<mx:CreditCardValidator id="ccV" 
        cardTypeSource="{cardTypeCbx.selectedItem}"  
        cardTypeProperty="data"
        cardNumberSource="{ccNumberTextInput}"  
        cardNumberProperty="text" required="true"/>

我有一个名为 ccNumberTextInput 的 textInput 和一个名为 cardTypeCbx 的组合

当我必须设置验证器时:

validatorArr = new Array();
validatorArr.push(ccV);
validateForm();

当我不需要它时:

validatorArr = new Array();
validateForm();

validateForm函数是:

private function validateForm():void
{
    var validatorErrorArray:Array = Validator.validateAll(validatorArr);
    isFormValid = validatorErrorArray.length == 0;
}

我有一个启用或禁用的按钮,因为它与布尔变量 isFormValid 绑定。

最奇怪的是,当移除验证器时,按钮变为启用,但红色边框仍在 textInput 中。

提前致谢。

【问题讨论】:

    标签: apache-flex actionscript validation


    【解决方案1】:

    您应该在需要时启用/禁用每个验证器,而不是使用验证器修改数组。因为验证器和它验证的组件之间的绑定仍然存在,即使您的数组中没有所有验证器。然后,可能会发生两件事:之前的验证仍然存在,或者该绑定可以触发另一件事。

    更多信息请参见http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/validators/Validator.html?filter_flex=4.1&filter_flashplayer=10.1&filter_air=2#enabled

    【讨论】:

      猜你喜欢
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      • 2014-01-11
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多