Class: ValidationResult

ValidationResult

new ValidationResult()

validation結果クラス

バリデート結果を保持するクラスです。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:
イベントリスナ内でpreventDefault()が呼ばれたかどうか。
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: