1

我正在为我的学校项目创建一个在线商店,但我有一个无法解决的问题。

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

我也在处理状态,所以当我按下提交按钮时,我将进入下一页。

现在我的问题是:即使用户没有填写表格并且他点击“提交”,他仍然会进入下一页。验证有效,但不会阻止用户继续。

这是我的验证码

<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'"/>
4

2 回答 2

1

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

于 2012-12-23T11:55:57.473 回答
-1

我会对每个字段进行检查。首先将提交按钮单击事件处理程序更改为正式方法:

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

然后检查方法中的验证方法:

protected function onSubmit(event:Event):void{
 if((email.errorString == '') && (Name.errorString == '') && (Surname.errorString == '') (Postcode == '')){
 currentState='Shoppingstate'
}
}
于 2012-12-23T18:23:48.450 回答