xema v0.6.1 Xema.Format View Source
This module contains semantic validators for strings.
Link to this section Summary
Functions
Checks if the string
is a valid date representation
Checks if the string
is a valid date time representation
Checks if the string
is a valid email representation
Checks if the string
is a valid host representation
Checks if the string
is a valid hostname representation
Checks if the string
is a valid IPv4 address representation
Checks if the string
is a valid IPv6 address representation
Checks if the value matches the given type. The function expected a available
format
and a string
to check. Returns true
for a valid string
, false
otherwise
Checks if the string
is a valid JSON pointer representation
Checks if the string
is a valid JSON pointer representation
Returns true
for a valid format type, false
otherwise. This macro can be
used in guards
Checks if the string
is a valid time representation
Checks if the string
is a valid URI representation
Checks if the string
is a valid URI fragment representation
Checks if the string
is a valid URI path representation
Checks if the string
is a valid URI query representation
Checks if the string
is a valid URI reference representation
Checks if the string
is a valid URI template representation
Checks if the string
is a valid URI template path representation
Checks if the string
is a valid URI user info
Link to this section Types
format()
View Source
format() ::
:date
| :date_time
| :email
| :hostname
| :ipv4
| :ipv6
| :json_pointer
| :relative_json_pointer
| :time
| :uri
| :uri_fragment
| :uri_path
| :uri_query
| :uri_reference
| :uri_template
| :uri_userinfo
format() :: :date | :date_time | :email | :hostname | :ipv4 | :ipv6 | :json_pointer | :relative_json_pointer | :time | :uri | :uri_fragment | :uri_path | :uri_query | :uri_reference | :uri_template | :uri_userinfo
The list of supported validators.
Link to this section Functions
date?(string) View Source
Checks if the string
is a valid date representation.
This function returns true
if the value is a string and is formatted as
defined by RFC 3339, false
otherwise.
date_time?(string) View Source
Checks if the string
is a valid date time representation.
This function returns true
if the value is a string
and is formatted as
defined by RFC 3339, false
otherwise.
email?(string) View Source
Checks if the string
is a valid email representation.
This function returns true
if the value is a string and is formatted as
defined by RFC 5322, false
otherwise.
The BNF rules from RFC 5322 transformed to PCRE by Nikita Popov and described in the post The true power of regular expressions .
host?(string) View Source
Checks if the string
is a valid host representation.
This function returns true
if the value is a valid IPv4 address, IPv6
address, or a valid hostname, false
otherwise.
hostname?(string) View Source
Checks if the string
is a valid hostname representation.
This function returns true
if the value is a string and is formatted as
defined by RFC 1034, false
otherwise.
ipv4?(string) View Source
Checks if the string
is a valid IPv4 address representation.
This function returns true
if the value is a string and is formatted as
defined by RFC 2673, false
otherwise.
ipv6?(string) View Source
Checks if the string
is a valid IPv6 address representation.
This function returns true
if the value is a string and is formatted as
defined by RFC 2373, false
otherwise.
is?(atom, string) View Source
Checks if the value matches the given type. The function expected a available
format
and a string
to check. Returns true
for a valid string
, false
otherwise.
Examples
iex> Format.is?(:email, "foo@bar.net")
iex> true
iex> Format.is?(:email, "foo.bar.net")
iex> false
json_pointer?(string) View Source
Checks if the string
is a valid JSON pointer representation.
relative_json_pointer?(string) View Source
Checks if the string
is a valid JSON pointer representation.
supports(format) View Source (macro)
Returns true
for a valid format type, false
otherwise. This macro can be
used in guards.
time?(string) View Source
Checks if the string
is a valid time representation.
This function returns true
if the value is a string and is formatted as
defined by RFC 3339, false
otherwise.
uri?(string) View Source
Checks if the string
is a valid URI representation.
This function returns true
if the value is a string and is formatted as
defined by RFC 3986, false
otherwise.
The following are two example URIs and their component parts:
hierarchical part
|
|-----------------------------------------|
authority path
| |
|-------------------------------||--------|
abc://username:password@example.com:123/path/data?key=value#fragid1
|-| |---------------| |---------| |-| |-------| |-----|
| | | | | |
scheme user information host port query fragment
urn:example:mammal:monotreme:echidna
|-| |------------------------------|
| |
scheme path
Wikipedia: Uniform Resource Identifier
uri_fragment?(string) View Source
Checks if the string
is a valid URI fragment representation.
uri_path?(string) View Source
Checks if the string
is a valid URI path representation.
See also Xema.Format.uri?/1
.
uri_query?(string) View Source
Checks if the string
is a valid URI query representation.
uri_reference?(string) View Source
Checks if the string
is a valid URI reference representation.
uri_template?(string) View Source
Checks if the string
is a valid URI template representation.
uri_template_path?(string) View Source
Checks if the string
is a valid URI template path representation.
uri_userinfo?(string) View Source
Checks if the string
is a valid URI user info.
See also Xema.Format.uri?/1
.