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

すべてのフィールドでチェックを実行します。最初に、送信ボタンのクリック イベント ハンドラーを正式なメソッドに変更します。

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