0

目前我正在根据国家/地区下拉值设置 ZipCode 域。

if(this.countryCTComboBox.getSelectedCode() == 'USA')
                {
                    this.zipCodeTextInputFieldValidator.domain = ZipCodeValidatorDomainType.US_ONLY;
                    this.zipCodeTextInputFieldValidator.wrongLengthError = this.zipCodeTextInputFieldValidator.wrongUSFormatError;
                } 
                else if(this.countryCTComboBox.getSelectedCode() == 'Canada')
                {
                    this.zipCodeTextInputFieldValidator.domain = ZipCodeValidatorDomainType.CANADA_ONLY
                    this.zipCodeTextInputFieldValidator.wrongLengthError = this.zipCodeTextInputFieldValidator.wrongCAFormatError;
                } 

如果从国家下拉列表中选择美国或加拿大,则效果很好。但它给wrongUSFormat所有其他国家/地区带来了错误。
是否有任何方法可以禁用任何其他国家/地区的验证。

4

1 回答 1

1

该语句的最后一部分是对输入 if 语句的字符串运行不同的验证器或根本不运行验证器。

} else {
    trace("this is not a US or Canada Zip code");
    // do something else with the zip code now, or do nothing
    zipCodeTextInputFieldValidator.source = null;
}

您可能需要修改此if/else语句的其他分支,以便它们通过将 设置source为适当的文本输入来重新启用验证器。

我不确定您还需要做什么,但还要检查以确保您没有将文本字段限制为所有数字或一定长度的字符,这可能会让您感到困惑。

于 2013-03-12T14:48:54.557 回答