2008年7月21日月曜日

Airで時間のValidatorを設定する

AdobeAirのFlex画面上で、時間の項目のValidatorを設定したい!
と探していたんですが、DateValidatorはあるものの、時間のものは見当たらず。

ということで、自分で作成してみました。
(本当はあったら泣きますけど)

Validatorは正規表現用のRegExpValidatorを使用。

import mx.validators.RegExpValidator;

public function checkTimeFormat(textObj:Object):void {
var timeValidator:RegExpValidator = new RegExpValidator();
timeValidator.expression = "^([0-1][0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9]$";
timeValidator.noMatchError = "時間は HH:MM:SS の形式で入力してください";
timeValidator.source = textObj;
timeValidator.property = "text";
timeValidator.validate();
}

ってのを作成して、チェックをかけたい mx:TextInput に change="checkTimeFormat(txtStartTime)"
とchangeイベントでチェックをかけるようにする。
メソッドにしているのは複数のTextInputで同じチェックをかけたかっただけで、特に意味はありません(笑)



こんな感じの表示になります。
• • •