phramework/validate
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo

Namespaces

  • Phramework
    • Validate

Classes

  • AllOf
  • AnyOf
  • ArrayValidator
  • BaseValidator
  • BooleanValidator
  • DatetimeValidator
  • DateValidator
  • EmailValidator
  • EnumValidator
  • IntegerValidator
  • NumberValidator
  • ObjectValidator
  • OneOf
  • StringValidator
  • UnsignedIntegerValidator
  • URLValidator
  • UsernameValidator
  • Validate
  • ValidateResult

Class BaseValidator

BaseValidator, every validator MUST extend this class

Direct known subclasses

Phramework\Validate\AnyOf, Phramework\Validate\ArrayValidator, Phramework\Validate\BooleanValidator, Phramework\Validate\EnumValidator, Phramework\Validate\NumberValidator, Phramework\Validate\ObjectValidator, Phramework\Validate\StringValidator

Indirect known subclasses

Phramework\Validate\AllOf, Phramework\Validate\DatetimeValidator, Phramework\Validate\DateValidator, Phramework\Validate\EmailValidator, Phramework\Validate\IntegerValidator, Phramework\Validate\OneOf, Phramework\Validate\UnsignedIntegerValidator, Phramework\Validate\URLValidator, Phramework\Validate\UsernameValidator

Abstract
Namespace: Phramework\Validate
License: Apache-2.0
Author: Xenofon Spafaridis nohponex@gmail.com
Since: 0.0.0
Located at BaseValidator.php

Methods summary

public static
# parseStatic( mixed $value )

This static method will instantiate a new object as validation model to parse the input value

This static method will instantiate a new object as validation model to parse the input value

Parameters

$value
Input value to validate
abstract public Phramework\Validate\ValidateResult
# validate( mixed $value )

Validate value

Validate value

Parameters

$value
Input value to validate

Returns

Phramework\Validate\ValidateResult

See

\Phramework\Validate\ValidateResult for ValidateResult object
protected Phramework\Validate\ValidateResult
# validateCommon( mixed $value, Phramework\Validate\ValidateResult $validateResult )

Common helper method to validate against all common keywords

Common helper method to validate against all common keywords

Parameters

$value
Value to validate
$validateResult
Current ValidateResult status

Returns

Phramework\Validate\ValidateResult

Uses

Phramework\Validate\BaseValidator::validateEnum()
protected Phramework\Validate\ValidateResult
# runValidateCallback( Phramework\Validate\ValidateResult $validateResult )

Parameters

$validateResult

Returns

Phramework\Validate\ValidateResult

Todo

May cause issues when parent validator calls this method and then child type casts the returned value (see number and integer validator)


protected Phramework\Validate\ValidateResult
# validateEnum( mixed $value, mixed $parsedValue )

Common helper method to validate against "enum" keyword

Common helper method to validate against "enum" keyword

Parameters

$value
Value to validate
$parsedValue
$value Parsed value from previous validators

Returns

Phramework\Validate\ValidateResult

See

5.5.1. enum http://json-schema.org/latest/json-schema-validation.html#anchor75

Used by

Phramework\Validate\BaseValidator::validateCommon()

Todo

provide support for objects and arrays
protected Phramework\Validate\ValidateResult
# validateNot( mixed $value, mixed $parsedValue )

Common helper method to validate against "not" keyword

Common helper method to validate against "not" keyword

Parameters

$value
Value to validate
$parsedValue
$value Parsed value from previous validators

Returns

Phramework\Validate\ValidateResult
public static string|null
# getType( )

Get validator's type

Get validator's type

Returns

string|null
public static string[]
# getTypeAttributes( )

Get validator's attributes

Get validator's attributes

Returns

string[]
protected
# __construct( )

BaseValidator constructor.

BaseValidator constructor.

public mixed
# __get( string $key )

Get attribute's value

Get attribute's value

Parameters

$key
Attribute's key

Returns

mixed

Throws

Exception
If key not found
public
# __set( string $key, mixed $value )

Set attribute's value

Set attribute's value

Parameters

$key
Attribute's key
$value
Attribute's value

Returns


$this

Throws

Exception
If key not found
public
# setTitle( string $title )

Parameters

$title

Returns


$this
public
# setEnum( array|null $enum )

Parameters

$enum

Returns


$this
public
# setNot( Phramework\Validate\BaseValidator|null $not )

Parameters

$not

Returns


$this

Throws

Exception
public
# setDescription( string $description )

Parameters

$description

Returns


$this
public
# setDefault( mixed $default )

Parameters

$default

Returns


$this
public
# setValidateCallback( callable $callback )

Set validation callback, this

Set validation callback, this

Parameters

$callback
Callback method may have two arguments, first is

Returns


$this

Throws

Exception
When callback is not callable

Since

0.6.0

Example

//Will increase the parsed value by one
$validator = (new IntegerValidator())
    ->setValidateCallback(function ($validateResult, $validator) {
        $validateResult->value = $validateResult->value + 1;

        return $validateResult;
    });

$parsed = $validator->parse(5); //Expect 6

public mixed
# parse( mixed $value )

This method use this validator to parse data from $value argument and return a clean object

This method use this validator to parse data from $value argument and return a clean object

Parameters

$value
Input value to validate

Returns

mixed

Throws

Phramework\Exceptions\MissingParametersException
Phramework\Exceptions\IncorrectParametersException
public static
# registerValidator( string $type, string $className )

Register a custom validator for a type

Register a custom validator for a type

Parameters

$type
Type's name, x- SHOULD be used for custom types
$className

Validator's full classname. All validators MUST extend BaseValidator class

Throws

Exception

Example

BaseValidator::registerValidator('x-address', 'My\APP\AddressValidator');
protected static Phramework\Validate\AnyOf|Phramework\Validate\AllOf|Phramework\Validate\OneOf|null
# createFromObjectForAdditional( object $object )

Helper method. Used to create anyOf, allOf and oneOf validators from objects

Helper method. Used to create anyOf, allOf and oneOf validators from objects

Parameters

$object
Validation object

Returns

Phramework\Validate\AnyOf|Phramework\Validate\AllOf|Phramework\Validate\OneOf|null
public static Phramework\Validate\BaseValidator
# createFromObject( object $object )

Create validator from validation object

Create validator from validation object

Parameters

$object
Validation object

Returns

Phramework\Validate\BaseValidator

Throws

Exception
When validator class cannot be found for object's type

Todo

cleanup class loading
public static Phramework\Validate\BaseValidator
# createFromArray( array $array )

Create validator from validation array

Create validator from validation array

Parameters

$array
Validation array

Returns

Phramework\Validate\BaseValidator
public static Phramework\Validate\BaseValidator
# createFromJSON( string $json )

Create validator from validation object encoded as json object

Create validator from validation object encoded as json object

Parameters

$json
Validation json encoded object

Returns

Phramework\Validate\BaseValidator

Throws

Exception
when JSON sting is not well formed
public string
# toJSON( boolean $JSON_PRETTY_PRINT = false )

Export validator to json encoded string

Export validator to json encoded string

Parameters

$JSON_PRETTY_PRINT
[Optional]

Returns

string
public object
# toObject( )

Export validator to object

Export validator to object

Returns

object
public array
# toArray( )

Export validator to array

Export validator to array

Returns

array

Properties summary

protected callable|null $validateCallback
# null
protected static string|null $type

Validator's type Must be overwritten, default is 'string'

Validator's type Must be overwritten, default is 'string'

# null
protected static string[] $typeAttributes

Validator's attributes Can be overwritten

Validator's attributes Can be overwritten

# [ ]
protected static string[] $commonAttributes

Common validator attributes

Common validator attributes

# [ 'title', 'description', 'default', 'format', 'enum', 'validateType', //non standard attribute, can be used in combination with enum 'not' ]
public $default
#
protected array $attributes

Objects current attributes and values

Objects current attributes and values

# []
phramework/validate API documentation generated by ApiGen