new ValidationResult()
バリデート結果を保持するクラスです。h5.validation.FormValidationLogic.validateがこのクラスのインスタンスを返します。
このクラスはEventDispatcherのメソッドを持ち、イベントリスナを登録することができます。
このクラスは非同期バリデートの完了を通知するために以下のイベントをあげます。
- validate
-
非同期バリデートを行っているプロパティについて、どれか1つのバリデート結果が出た。
以下のようなイベントオブジェクトを通知します。
{ type: 'validate' name: // バリデートが完了したプロパティ名 value: // バリデート対象の値 isValid: // バリデート結果(true/false) violation: // 失敗時のみ。該当プロパティについてのバリデート失敗理由(ValidationResultに格納されるinvalidReason[name].violationに格納されるルールごとの違反理由オブジェクト) }
- validateComplete
- 非同期バリデートを行っているすべてのプロパティのバリデートが完了した。
以下のようなイベントオブジェクトを通知します。
{ type: 'validateComplete' }
- abort
- 非同期バリデートが中断された。
以下のようなイベントオブジェクトを通知します。
{ type: 'abort' }
- Mixes In:
- Source:
Members
(static) invalidCount :integer
Type:
- integer
- Source:
(static) invalidProperties :Array.<string>
Type:
- Array.<string>
- Source:
(static) invalidReason :object
バリデート失敗の理由がここに格納されます。invalidReasonは以下のようなオブジェクトです。
{
"プロパティ名": {
name: 'name', // プロパティ名
value: 101, // バリデート対象の値
violation: [{ // 違反理由オブジェクトの配列
ruleName: 'max', // バリデートを行ったルール
ruleValue: {max:100, inclusive: true}, // バリデート関数に渡されたパラメータ
reason: // 非同期バリデートのみ。非同期バリデート関数が返したプロミスのfailハンドラに渡された引数リスト。同期の場合は常にnull
}]
},
"プロパティ名": {...},
"プロパティ名": {...}
}
Type:
- object
- Source:
(static) isAllValid :boolean|null
非同期バリデートがあり、まだ結果が出ていない場合はnullです。
Type:
- boolean | null
- Source:
(static) isAsync :boolean
Type:
- boolean
- Source:
(static) isValid :boolean
現在完了しているバリデート全てについてバリデートが通ったかどうかをtrueまたはfalseで保持します。
例えば非同期バリデートがあり、全てのバリデートが完了していない場合でもisValidには判定済みのものについてバリデートが通ったかどうかを保持します。
Type:
- boolean
- Source:
(static) properties :Array.<string>
Type:
- Array.<string>
- Source:
(static) validatingProperties :Array.<string>
非同期バリデートが完了していないプロパティ名がここに格納されます。 非同期バリデートが完了した時点で街頭プロパティはここから取り除かれ、ValidationResult.validPropertiesまたはValidationResult.invalidPropertesに格納されます。
Type:
- Array.<string>
- Source:
(static) validCount :integer
Type:
- integer
- Source:
(static) validProperties :Array.<string>
Type:
- Array.<string>
- Source:
Methods
(static) abort()
ValidationResultが非同期バリデート結果を待機している場合、このメソッドを呼ぶとバリデートを中止し、以降validate及びvalidateCompleteイベントをあげなくなります。
- Source:
addEventListener(type, listener)
第一引数にイベント名、第二引数にイベントリスナを渡し、イベントリスナを登録します。指定したイベントが起こった時にイベントリスナが実行されます。
イベントリスナは、関数またはEventListener インタフェースを実装するオブジェクト(handleEventプロパティに関数を持つオブジェクト)で指定できます。
指定したイベントに、指定したイベントリスナが既に登録されていた場合は何もしません。
同一のイベントに対して複数回addEventListener()を呼び、複数のイベントリスナを登録した場合は、イベント発火時に登録した順番に実行されます。
第3引数以降が指定されていても無視されます。
Parameters:
Name | Type | Description |
---|---|---|
type |
String | イベント名 |
listener |
function | Object | イベントリスナまたはhandleEventを持つイベントリスナオブジェクト |
- Since:
- 1.1.0
- Mixes In:
- Source:
dispatchEvent(event) → {Boolean}
イベントオブジェクトを引数に取り、そのevent.typeに登録されているイベントリスナを実行します。 イベントオブジェクトにpreventDefault()関数を追加してイベントリスナの引数に渡して呼び出します。
戻り値は『イベントリスナ内でpreventDefault()が呼ばれたかどうか』を返します。
Parameters:
Name | Type | Description |
---|---|---|
event |
Object | イベントオブジェクト |
Returns:
- Type
- Boolean
- Since:
- 1.1.0
- Mixes In:
- Source:
hasEventListener(type, listener) → {Boolean}
第一引数にイベント名、第二引数にイベントリスナを渡し、指定したイベントに指定したイベントリスナが登録済みかどうかを返します。
Parameters:
Name | Type | Description |
---|---|---|
type |
String | イベント名 |
listener |
function | イベントリスナ |
Returns:
- Type
- Boolean
- Since:
- 1.1.0
- Mixes In:
- Source:
removeEventListener(type, listener)
第一引数にイベント名、第二引数にイベントリスナを渡し、指定したイベントから指定したイベントリスナを削除します。
指定したイベント名に指定したイベントリスナが登録されていない場合は何もしません。
Parameters:
Name | Type | Description |
---|---|---|
type |
String | イベント名 |
listener |
function | イベントリスナ |
- Since:
- 1.1.0
- Mixes In:
- Source: