Я пытаюсь выполнить проверку трех полей в файле mxml. Два из них обязательны, один нет. Поле почтового индекса, которое я хочу проверить только в том случае, если в него что-то введено. Если оно пустое, я хочу, чтобы кнопка «Отправить» была включена, если два других обязательных поля установлены правильно. Код:
<mx:EmailValidator id="emailValidator"
property="text" source="{ownerName}"
valid="emailValidator_validHandler(event)"
invalid="emailValidator_validHandler(event)"/>
<mx:ZipCodeValidator id="zipCodeValidator"
property="text" source="{zip}"
required="false"
valid="zipCodeValidator_validHandler(event)"
invalid="zipCodeValidator_validHandler(event)"/>
<mx:Validator id="roomNameValidator"
property="text" source="{roomName}"
valid="roomNameValidator_validHandler(event)"
invalid="roomNameValidator_validHandler(event)"/>
[Bindable]
private var isRoomNameValid:Boolean;
[Bindable]
private var isOwnerValid:Boolean;
[Bindable]
private var isZipValid:Boolean;
protected function emailValidator_validHandler(event:ValidationResultEvent):void
{
isOwnerValid = (event.type==ValidationResultEvent.VALID);
}
protected function zipCodeValidator_validHandler(event:ValidationResultEvent):void
{
isZipValid = (event.type == ValidationResultEvent.VALID);
}
protected function roomNameValidator_validHandler(event:ValidationResultEvent):void
{
isRoomNameValid = (event.type==ValidationResultEvent.VALID);
}
Затем я попытался установить свойство enable кнопки отправки:
enabled = "{isOwnerValid && isRoomNameValid && zip.text.length>0?isZipValid:true}"
Но это не работает. Я все еще могу отправить неверные данные в поле почтового индекса, даже если поле почтового индекса имеет красную рамку.