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 に答える