NAME
SQL::Validator - Validate JSON-SQL
ABSTRACT
Validate JSON-SQL Schemas
SYNOPSIS
use
SQL::Validator;
my
$sql
= SQL::Validator->new;
# my $valid = $sql->validate({
# insert => {
# into => {
# table => 'users'
# },
# default => 1
# }
# });
# i.e. represents (INSERT INTO "users" DEFAULT VALUES)
# die $sql->error if !$valid;
# $sql->error->report('insert');
DESCRIPTION
This package provides a json-sql data structure validation library based on the JSON-SQL json-schema standard.
ATTRIBUTES
This package has the following attributes:
schema
schema(Any)
This attribute is read-only, accepts (Any)
values, and is optional.
validator
validator(InstanceOf[
"JSON::Validator"
])
This attribute is read-only, accepts (InstanceOf["JSON::Validator"])
values, and is optional.
version
version(Str)
This attribute is read-only, accepts (Str)
values, and is optional.
METHODS
This package implements the following methods:
error
error() : InstanceOf[
"SQL::Validator::Error"
]
The error method validates the JSON-SQL schema provided.
- error example #2
-
# given: synopsis
$sql
->validate({
select
=> {
from
=> {
table
=>
'users'
} } });
my
$error
=
$sql
->error;
validate
validate(HashRef
$schema
) : Bool
The validate method validates the JSON-SQL schema provided.
- validate example #1
-
# given: synopsis
my
$valid
=
$sql
->validate({
insert
=> {
into
=> {
table
=>
'users'
},
default
=> 1
}
});
# VALID
- validate example #2
-
# given: synopsis
my
$valid
=
$sql
->validate({
insert
=> {
into
=> {
table
=>
'users'
},
default
=>
'true'
# coerced booleans
}
});
# VALID
- validate example #3
-
# given: synopsis
my
$valid
=
$sql
->validate({
insert
=> {
into
=>
'users'
,
values
=> [1, 2, 3]
}
});
# INVALID
AUTHOR
Al Newkirk, awncorp@cpan.org
LICENSE
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".