Apache flex 结合状态和验证程序-flash builder

Apache flex 结合状态和验证程序-flash builder,apache-flex,flash-builder,validation,states,Apache Flex,Flash Builder,Validation,States,我正在为我的学校项目做一个网上商店,我有一个无法解决的问题 现在,我制作了一个表单供用户填写,并添加了一些验证器来检查用户是否填写了正确的信息。用户填写表单后,可以单击submitbutton继续 我也在和各州合作,所以当我按下submitbutton时,我会进入下一页 现在我的问题是:即使用户没有填写表单并单击“提交”,他仍然会进入下一页。验证工作正常,但不会停止用户继续验证 这是我的验证码 <mx:EmailValidator id="emailValidator"

我正在为我的学校项目做一个网上商店,我有一个无法解决的问题

现在,我制作了一个表单供用户填写,并添加了一些验证器来检查用户是否填写了正确的信息。用户填写表单后,可以单击submitbutton继续

我也在和各州合作,所以当我按下submitbutton时,我会进入下一页

现在我的问题是:即使用户没有填写表单并单击“提交”,他仍然会进入下一页。验证工作正常,但不会停止用户继续验证

这是我的验证码

<mx:EmailValidator id="emailValidator"
                       source="{email}"
                       property="text"
                       triggerEvent="change"/>
    <mx:StringValidator id="nameValidator"
                        source="{Name}"
                        property="text"
                        requiredFieldError="Put in a name"
                        triggerEvent="change"/>
    <mx:StringValidator id="SurnameValidator"
                        source="{Surname}"
                        property="change"
                        requiredFieldError="Put in a surname"
                        triggerEvent="click"/>
    <s:NumberValidator id="PostcodeValidator"
                       source="{Postcode}"
                       property="text"
                       requiredFieldError="Put in a zipcode"
                       triggerEvent="change"/>

现在按钮代码

<s:Button label="submit"
              id="submitButton"
              click="currentState='Shoppingstate'"/>


您可以将submitButton的enabled属性绑定到验证器的状态

我将对每个字段执行检查。首先将submit按钮click事件处理程序更改为正式方法:

<s:Button label="submit"
              id="submitButton"
              click="onSubmit(event)"/>

我的直觉告诉我这行不通;什么会阻止某人单击“提交”而不输入任何数据?默认状态(我怀疑)将处于活动状态。没有什么可以阻止您将enabled=false设置为默认状态。
protected function onSubmit(event:Event):void{
 if((email.errorString == '') && (Name.errorString == '') && (Surname.errorString == '') (Postcode == '')){
 currentState='Shoppingstate'
}
}