baserCMS クラスリファレンス

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
checked
noTodo
unitTest
Return values
bool

bcUtileUrlencodeBlank()

削除文字チェック

public static bcUtileUrlencodeBlank(string $value) : bool

BcUtile::urlencode で、削除される文字のみで構成されているかチェック(結果ブランクになるためnotBlankになる確認)

Parameters
$value : string

チェック対象文字列

Tags
checked
noTodo
unitTest
Return values
bool

between()

範囲を指定しての長さチェック

public static between(mixed $value, int $min, int $max) : mixed
Parameters
$value : mixed

対象となる値

$min : int

値の最短値

$max : int

値の最長値

Tags
unitTest

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
checked
noTodo
unitTest
Return values
bool

checkDateRange()

日時チェック - 開始日時が終了日時より過去の場合、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
checked
noTodo
unitTest
Return values
bool

checkHiragana()

全角ひらがなチェック

public static checkHiragana(mixed $value[, string $addAllow = '\s ー' ]) : bool
Parameters
$value : mixed

対象となる値

$addAllow : string = '\s ー'

追加で許可する文字(初期値: 半角スペース・全角スペース・長音)

Tags
checked
noTodo
unitTest

半角と全角のスペースを許容しない場合はvaliadtionのrule設定で空の文字列を渡す 'rule' => ['checkHiragana', '']

Return values
bool

checkKatakana()

全角カタカナチェック

public static checkKatakana(mixed $value[, string $addAllow = '\s ' ]) : bool
Parameters
$value : mixed

対象となる値

$addAllow : string = '\s '

追加で許可する文字(初期値: 半角スペース・全角スペース)

Tags
checked
noTodo
unitTest

半角と全角のスペースを許容しない場合はvaliadtionのrule設定で空の文字列を渡す 'rule' => ['checkKatakana', '']

Return values
bool

checkSelectList()

選択リストに同じ項目を複数登録するかをチェック

public static checkSelectList(mixed $value) : bool
Parameters
$value : mixed
Tags
checked
notodo
unitTest
Return values
bool

checkWithJson()

Jsonをバリデーション 半角小文字英数字とアンダースコアを許容

public static checkWithJson(mixed $string, mixed $key, mixed $regex) : bool
Parameters
$string : mixed
$key : mixed
$regex : mixed
Tags
checked
noTodo
unitTest
Return values
bool

confirm()

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
checked
noTodo
unitTest
Return values
bool

containsScript()

スクリプトが埋め込まれているかチェックする - 管理グループの場合は無条件に true を返却 - 管理グループ以外の場合に許可されている場合は無条件に true を返却

public static containsScript(string $value) : bool
Parameters
$value : string
Tags
checked
noTodo
unitTest
Return values
bool

emails()

複数のEメールチェック(カンマ区切り)

public static emails(string $value) : bool
Parameters
$value : string

複数のメールアドレス

Tags
checked
noTodo
unitTest
Return values
bool

fileCheck()

ファイルサイズチェック

public static fileCheck(array<string|int, mixed> $value, int $size) : bool
Parameters
$value : array<string|int, mixed>

チェック対象データ

$size : int

最大のファイルサイズ

Tags
link
http://php.net/manual/ja/features.file-upload.errors.php
checked
noTodo
unitTest
Return values
bool

fileExt()

ファイルの拡張子チェック

public static fileExt(mixed $file, mixed $exts) : bool
Parameters
$file : mixed
$exts : mixed

許可する拡張子

Tags
checked
noTodo
unitTest
Return values
bool

getService()

Get Service

public getService(mixed $service) : array<string|int, mixed>|mixed|object
Parameters
$service : mixed
Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>|mixed|object

halfText()

半角チェック

public static halfText(string $value) : bool
Parameters
$value : string

確認する値を含む配列

Tags
checked
noTodo
unitTest
Return values
bool

hasService()

Has Service

public hasService(mixed $service) : bool
Parameters
$service : mixed
Tags
checked
noTodo
unitTest
Return values
bool

hexColorPlus()

16進数カラーコードチェック

public static hexColorPlus(string $value) : bool
Parameters
$value : string

対象となる値

Tags
checked
notodo
unitTest
Return values
bool

maxByte()

最大のバイト数チェック - 対象となる値のサイズが、指定した最大値より短い場合、true を返す

public static maxByte(mixed $value, int $max) : bool
Parameters
$value : mixed

対象となる値

$max : int

バイト数の最大値

Tags
checked
noTodo
unitTest
Return values
bool

maxLength()

最長の長さチェック - 対象となる値の長さが、指定した最長値より短い場合、trueを返す

public static maxLength(mixed $check, int $max) : bool
Parameters
$check : mixed

対象となる値

$max : int

値の最長値

Tags
checked
noTodo
unitTest
Return values
bool

minLength()

最短の長さチェック - 対象となる値の長さが、指定した最短値より長い場合、trueを返す

public static minLength(mixed $check, int $min) : bool
Parameters
$check : mixed

対象となる値

$min : int

値の最短値

Tags
checked
noTodo
unitTest
Return values
bool

notBlankOnlyString()

スペースしかない文字列

public static notBlankOnlyString(mixed $string) : bool
Parameters
$string : mixed
Tags
checked
notodo
unitTest
Return values
bool

notEmptyMultiple()

HABTM 用マルチチェックボックスの未選択チェック

public static notEmptyMultiple(mixed $value, array<string|int, mixed> $context) : bool
Parameters
$value : mixed
$context : array<string|int, mixed>
Tags
checked
noTodo
unitTest
Return values
bool

notFileEmpty()

ファイルが送信されたかチェックするバリデーション

public static notFileEmpty(array<string|int, mixed> $value) : bool
Parameters
$value : array<string|int, mixed>
Tags
checked
noTodo
unitTest
Return values
bool

notInList()

リストチェック 対象となる値がリストに含まれる場合はエラー

public static notInList(string $value, array<string|int, mixed> $list) : bool
Parameters
$value : string

対象となる値

$list : array<string|int, mixed>

リスト

Tags
checked
noTodo
unitTest
Return values
bool —

Succcess

reserved()

主にデータベースの予約語として利用できないフィールドかどうか判定

public static reserved(mixed $value) : bool
Parameters
$value : mixed
Tags
checked
noTodo
unitTest
Return values
bool

rootPath()

url形式 (ルートパスと空白許容)であることを確認する

public static rootPath(mixed $value) : bool
Parameters
$value : mixed
Return values
bool

containsDangerousUriScheme()

URI系属性値に危険なスキームが含まれるか(実体参照による難読化を含めて検査する)

protected static containsDangerousUriScheme(string $html) : bool
Parameters
$html : string
Tags
noTodo
checked
Return values
bool

extractHtmlStructureSets()

HTMLから要素名・属性名・URIスキームの集合を抽出する

protected static extractHtmlStructureSets(string $html) : array<string|int, mixed>
Parameters
$html : string
Tags
noTodo
checked
Return values
array<string|int, mixed>

getContainsScriptPurifierConfig()

containsScript 用の HTMLPurifier 設定を構築する

protected static getContainsScriptPurifierConfig() : HTMLPurifier_Config

許可する要素・属性・CSSプロパティは setting.php の BcApp.containsScript から読み込む。

Tags
noTodo
checked
Return values
HTMLPurifier_Config

loadHtmlFragment()

HTML断片を DOMDocument に読み込む

protected static loadHtmlFragment(string $html) : DOMDocument|null
Parameters
$html : string
Tags
noTodo
checked
Return values
DOMDocument|null

normalizeAttrValueForSchemeCheck()

属性値を実体参照・数値文字参照・制御文字まで踏み込んでデコード・正規化する

protected static normalizeAttrValueForSchemeCheck(string $value) : string

html_entity_decode に ENT_HTML5 を付与し : などの HTML5名前付き参照に対応させ、さらにセミコロン無しの数値文字参照もデコードする。

Parameters
$value : string
Tags
noTodo
checked
Return values
string

purifyRemovesUnsafeStructure()

HTMLPurifier で浄化した結果、許可外の危険な要素・属性・スキームが除去されたか

protected static purifyRemovesUnsafeStructure(string $html) : bool

浄化前後の「要素名・属性名・URIスキーム」の集合を比較し、除去されたものがあれば 危険または不正なHTMLとみなす。属性の除去は safeRemovedAttributePrefixes(data-* 等)を除外する。

Parameters
$html : string
Tags
noTodo
checked
Return values
bool
On this page

Search results