Class StringValidator
In: lib/stringvalidator.rb
Parent: Object

文字列の正当性チェック

Methods

new   valid?   valid?   validate   validate   validated_rule  

Classes and Modules

Class StringValidator::Error

Public Class methods

rule:Hash オブジェクト。{:key => rule_object, …}
rule:ルールオブジェクト
str:対象文字列

validate(rule, str) が成功すれば true, そうでなければ false を返す。

rule:ルールオブジェクト
str:対象文字列

strrule に適合するか検査する。 適合しない場合、StringValidator::Error 例外が発生する。

rule の形式

Integer (Integer そのもの。Integer オブジェクトではない)

Integer(str) が成功した場合に str を正当とみなす。 Integer オブジェクトを返す。

Float (Float そのもの。Float オブジェクトではない)

Float(str) が成功した場合に str を正当とみなす。 Float オブジェクトを返す。

Range オブジェクト

rulestr を含んでいれば str を正当とみなす。 rule に応じて、Integer, Float, String オブジェクトを返す。

Regexp オブジェクト

strrule に適合すれば str を正当とみなす。 str を返す。

Proc オブジェクト

rule.call(str) の結果が真であれば str を正当とみなす。 rule.call(str) の結果を返す。

Array オブジェクト

rule の要素をルールとして評価し、正当な要素が一つでもあれば正当とみなす。 最初に正当になったルールの結果を返す。

Hash オブジェクト

複数のルールが指定された場合は、すべてのルールを満たせば正当とみなす。 結果は、{各ルールのキー => 各ルールの評価結果} の Hash。

:any => array
Array と同じ。
:all => array
rule の要素をルールとして評価し、すべての要素が正当であれば正当とみなす。 評価結果は、各ルールの評価結果の配列。
:rule => obj
obj をルールとして評価する。
:length => integer or range
str の長さ(バイト数)が integer に一致する場合、または range 内であれば正当とみなす。 評価結果は str
:maxlength => integer
str の長さ(バイト数)が integer 以下であれば正当とみなす。 評価結果は str
:minlength => integer
str の長さ(バイト数)が integer 以上であれば正当とみなす。 評価結果は str
:charlength => integer or range
str の長さ(文字数)が integer に一致する場合、または range 内であれば正当とみなす。文字数は $KCODE に依存する。 評価結果は str
:maxcharlength => integer
str の長さ(文字数)が integer 以下であれば正当とみなす。文字数は $KCODE に依存する。 評価結果は str
:mincharlength => integer
str の長さ(文字数)が integer 以上であれば正当とみなす。文字数は $KCODE に依存する。 評価結果は str

Class オブジェクト

rule.new(str) が成功すれば正当とみなす。 rule.new(str) を返す。

other

strrule.to_s と等しければ正当とみなす。 rule を返す。

Public Instance methods

rule:ルールキー。initialize に与えた Hash のキー
str:対象文字列

StringValidator#validate(rule, _str) が成功すれば true, そうでなければ false を返す。

rule:ルールキー。initialize に与えた Hash のキー
str:対象文字列

StringValidator.validate(@rule[rule], str) と同じ。

str:対象文字列

initialize に与えた Hash のキーのルールを順に評価し、最初に適合したキー値を返す。 適合したルールがない場合は nil を返す。

[Validate]