xema v0.8.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.
Return true if string
contains a regular expression.
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
| :regex
| :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 | :regex | :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 regular expression was taken from https://emailregex.com/.
Examples
iex> import Xema.Format
iex>
iex> email?("marin.musterman@germany.net")
true
iex> email?("Otto.Normalverbraucher")
false
iex> email?("Otto.Normal@Verbraucher.NET")
true
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.
Examples
iex> import Xema.Format
iex>
iex> host?("127.0.0.1")
true
iex> host?("localhost")
true
iex> host?("elixirforum.com")
true
iex> host?("go go go")
false
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> Xema.Format.is?(:email, "foo@bar.net")
true
iex> Xema.Format.is?(:email, "foo.bar.net")
false
json_pointer?(string) View Source
Checks if the string
is a valid JSON pointer representation.
regex?(string) View Source
Return true if string
contains a regular expression.
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
.