BcValidation
extends Validation
in package
uses
BcContainerTrait
Class BcValidation
Table of Contents
Methods
- alphaNumericPlus() : bool
- 英数チェックプラス
- bcUtileUrlencodeBlank() : bool
- 削除文字チェック
- between() : mixed
- 範囲を指定しての長さチェック
- checkDateAfterThan() : bool
- 指定した日付よりも新しい日付かどうかチェックする
- checkDateRange() : bool
- 日時チェック - 開始日時が終了日時より過去の場合、true を返す
- checkHiragana() : bool
- 全角ひらがなチェック
- checkKatakana() : bool
- 全角カタカナチェック
- checkSelectList() : bool
- 選択リストに同じ項目を複数登録するかをチェック
- checkWithJson() : bool
- Jsonをバリデーション 半角小文字英数字とアンダースコアを許容
- confirm() : bool
- 2つのフィールド値を確認する
- containsScript() : bool
- スクリプトが埋め込まれているかチェックする - 管理グループの場合は無条件に true を返却 - 管理グループ以外の場合に許可されている場合は無条件に true を返却
- emails() : bool
- 複数のEメールチェック(カンマ区切り)
- fileCheck() : bool
- ファイルサイズチェック
- fileExt() : bool
- ファイルの拡張子チェック
- getService() : array<string|int, mixed>|mixed|object
- Get Service
- halfText() : bool
- 半角チェック
- hasService() : bool
- Has Service
- hexColorPlus() : bool
- 16進数カラーコードチェック
- maxByte() : bool
- 最大のバイト数チェック - 対象となる値のサイズが、指定した最大値より短い場合、true を返す
- maxLength() : bool
- 最長の長さチェック - 対象となる値の長さが、指定した最長値より短い場合、trueを返す
- minLength() : bool
- 最短の長さチェック - 対象となる値の長さが、指定した最短値より長い場合、trueを返す
- notBlankOnlyString() : bool
- スペースしかない文字列
- notEmptyMultiple() : bool
- HABTM 用マルチチェックボックスの未選択チェック
- notFileEmpty() : bool
- ファイルが送信されたかチェックするバリデーション
- notInList() : bool
- リストチェック 対象となる値がリストに含まれる場合はエラー
- reserved() : bool
- 主にデータベースの予約語として利用できないフィールドかどうか判定
- rootPath() : bool
- url形式 (ルートパスと空白許容)であることを確認する
- containsDangerousUriScheme() : bool
- URI系属性値に危険なスキームが含まれるか(実体参照による難読化を含めて検査する)
- extractHtmlStructureSets() : array<string|int, mixed>
- HTMLから要素名・属性名・URIスキームの集合を抽出する
- getContainsScriptPurifierConfig() : HTMLPurifier_Config
- containsScript 用の HTMLPurifier 設定を構築する
- loadHtmlFragment() : DOMDocument|null
- HTML断片を DOMDocument に読み込む
- normalizeAttrValueForSchemeCheck() : string
- 属性値を実体参照・数値文字参照・制御文字まで踏み込んでデコード・正規化する
- purifyRemovesUnsafeStructure() : bool
- HTMLPurifier で浄化した結果、許可外の危険な要素・属性・スキームが除去されたか
Methods
alphaNumericPlus()
英数チェックプラス
public
static alphaNumericPlus(string $value[, mixed $addChars = null ]) : bool
ハイフンアンダースコアを許容
Parameters
- $value : string
-
チェック対象文字列
- $addChars : mixed = null
Tags
Return values
boolbcUtileUrlencodeBlank()
削除文字チェック
public
static bcUtileUrlencodeBlank(string $value) : bool
BcUtile::urlencode で、削除される文字のみで構成されているかチェック(結果ブランクになるためnotBlankになる確認)
Parameters
- $value : string
-
チェック対象文字列
Tags
Return values
boolbetween()
範囲を指定しての長さチェック
public
static between(mixed $value, int $min, int $max) : mixed
Parameters
- $value : mixed
-
対象となる値
- $min : int
-
値の最短値
- $max : int
-
値の最長値
Tags
checkDateAfterThan()
指定した日付よりも新しい日付かどうかチェックする
public
static checkDateAfterThan(string $fieldValue, mixed $target, array<string|int, mixed> $context) : bool
Parameters
- $fieldValue : string
-
対象となる日付
- $target : mixed
- $context : array<string|int, mixed>
Tags
Return values
boolcheckDateRange()
日時チェック - 開始日時が終了日時より過去の場合、true を返す
public
static checkDateRange(mixed $value, mixed $fields, array<string|int, mixed> $context) : bool
Parameters
- $value : mixed
-
対象となる値
- $fields : mixed
- $context : array<string|int, mixed>
Tags
Return values
boolcheckHiragana()
全角ひらがなチェック
public
static checkHiragana(mixed $value[, string $addAllow = '\s ー' ]) : bool
Parameters
- $value : mixed
-
対象となる値
- $addAllow : string = '\s ー'
-
追加で許可する文字(初期値: 半角スペース・全角スペース・長音)
Tags
Return values
boolcheckKatakana()
全角カタカナチェック
public
static checkKatakana(mixed $value[, string $addAllow = '\s ' ]) : bool
Parameters
- $value : mixed
-
対象となる値
- $addAllow : string = '\s '
-
追加で許可する文字(初期値: 半角スペース・全角スペース)
Tags
Return values
boolcheckSelectList()
選択リストに同じ項目を複数登録するかをチェック
public
static checkSelectList(mixed $value) : bool
Parameters
- $value : mixed
Tags
Return values
boolcheckWithJson()
Jsonをバリデーション 半角小文字英数字とアンダースコアを許容
public
static checkWithJson(mixed $string, mixed $key, mixed $regex) : bool
Parameters
- $string : mixed
- $key : mixed
- $regex : mixed
Tags
Return values
boolconfirm()
2つのフィールド値を確認する
public
static confirm(string $value, mixed $fields, array<string|int, mixed> $context) : bool
Parameters
- $value : string
-
対象となる値
- $fields : mixed
-
フィールド名
- $context : array<string|int, mixed>
Tags
Return values
boolcontainsScript()
スクリプトが埋め込まれているかチェックする - 管理グループの場合は無条件に true を返却 - 管理グループ以外の場合に許可されている場合は無条件に true を返却
public
static containsScript(string $value) : bool
Parameters
- $value : string
Tags
Return values
boolemails()
複数のEメールチェック(カンマ区切り)
public
static emails(string $value) : bool
Parameters
- $value : string
-
複数のメールアドレス
Tags
Return values
boolfileCheck()
ファイルサイズチェック
public
static fileCheck(array<string|int, mixed> $value, int $size) : bool
Parameters
- $value : array<string|int, mixed>
-
チェック対象データ
- $size : int
-
最大のファイルサイズ
Tags
Return values
boolfileExt()
ファイルの拡張子チェック
public
static fileExt(mixed $file, mixed $exts) : bool
Parameters
- $file : mixed
- $exts : mixed
-
許可する拡張子
Tags
Return values
boolgetService()
Get Service
public
getService(mixed $service) : array<string|int, mixed>|mixed|object
Parameters
- $service : mixed
Tags
Return values
array<string|int, mixed>|mixed|objecthalfText()
半角チェック
public
static halfText(string $value) : bool
Parameters
- $value : string
-
確認する値を含む配列
Tags
Return values
boolhasService()
Has Service
public
hasService(mixed $service) : bool
Parameters
- $service : mixed
Tags
Return values
boolhexColorPlus()
16進数カラーコードチェック
public
static hexColorPlus(string $value) : bool
Parameters
- $value : string
-
対象となる値
Tags
Return values
boolmaxByte()
最大のバイト数チェック - 対象となる値のサイズが、指定した最大値より短い場合、true を返す
public
static maxByte(mixed $value, int $max) : bool
Parameters
- $value : mixed
-
対象となる値
- $max : int
-
バイト数の最大値
Tags
Return values
boolmaxLength()
最長の長さチェック - 対象となる値の長さが、指定した最長値より短い場合、trueを返す
public
static maxLength(mixed $check, int $max) : bool
Parameters
- $check : mixed
-
対象となる値
- $max : int
-
値の最長値
Tags
Return values
boolminLength()
最短の長さチェック - 対象となる値の長さが、指定した最短値より長い場合、trueを返す
public
static minLength(mixed $check, int $min) : bool
Parameters
- $check : mixed
-
対象となる値
- $min : int
-
値の最短値
Tags
Return values
boolnotBlankOnlyString()
スペースしかない文字列
public
static notBlankOnlyString(mixed $string) : bool
Parameters
- $string : mixed
Tags
Return values
boolnotEmptyMultiple()
HABTM 用マルチチェックボックスの未選択チェック
public
static notEmptyMultiple(mixed $value, array<string|int, mixed> $context) : bool
Parameters
- $value : mixed
- $context : array<string|int, mixed>
Tags
Return values
boolnotFileEmpty()
ファイルが送信されたかチェックするバリデーション
public
static notFileEmpty(array<string|int, mixed> $value) : bool
Parameters
- $value : array<string|int, mixed>
Tags
Return values
boolnotInList()
リストチェック 対象となる値がリストに含まれる場合はエラー
public
static notInList(string $value, array<string|int, mixed> $list) : bool
Parameters
- $value : string
-
対象となる値
- $list : array<string|int, mixed>
-
リスト
Tags
Return values
bool —Succcess
reserved()
主にデータベースの予約語として利用できないフィールドかどうか判定
public
static reserved(mixed $value) : bool
Parameters
- $value : mixed
Tags
Return values
boolrootPath()
url形式 (ルートパスと空白許容)であることを確認する
public
static rootPath(mixed $value) : bool
Parameters
- $value : mixed
Return values
boolcontainsDangerousUriScheme()
URI系属性値に危険なスキームが含まれるか(実体参照による難読化を含めて検査する)
protected
static containsDangerousUriScheme(string $html) : bool
Parameters
- $html : string
Tags
Return values
boolextractHtmlStructureSets()
HTMLから要素名・属性名・URIスキームの集合を抽出する
protected
static extractHtmlStructureSets(string $html) : array<string|int, mixed>
Parameters
- $html : string
Tags
Return values
array<string|int, mixed>getContainsScriptPurifierConfig()
containsScript 用の HTMLPurifier 設定を構築する
protected
static getContainsScriptPurifierConfig() : HTMLPurifier_Config
許可する要素・属性・CSSプロパティは setting.php の BcApp.containsScript から読み込む。
Tags
Return values
HTMLPurifier_ConfigloadHtmlFragment()
HTML断片を DOMDocument に読み込む
protected
static loadHtmlFragment(string $html) : DOMDocument|null
Parameters
- $html : string
Tags
Return values
DOMDocument|nullnormalizeAttrValueForSchemeCheck()
属性値を実体参照・数値文字参照・制御文字まで踏み込んでデコード・正規化する
protected
static normalizeAttrValueForSchemeCheck(string $value) : string
html_entity_decode に ENT_HTML5 を付与し : などの HTML5名前付き参照に対応させ、さらにセミコロン無しの数値文字参照もデコードする。
Parameters
- $value : string
Tags
Return values
stringpurifyRemovesUnsafeStructure()
HTMLPurifier で浄化した結果、許可外の危険な要素・属性・スキームが除去されたか
protected
static purifyRemovesUnsafeStructure(string $html) : bool
浄化前後の「要素名・属性名・URIスキーム」の集合を比較し、除去されたものがあれば 危険または不正なHTMLとみなす。属性の除去は safeRemovedAttributePrefixes(data-* 等)を除外する。
Parameters
- $html : string