508 lines
29 KiB
HTML
508 lines
29 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<title>Validation Protocol Reference</title>
|
||
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
|
||
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
|
||
<meta charset='utf-8'>
|
||
<script src="../js/jquery.min.js" defer></script>
|
||
<script src="../js/jazzy.js" defer></script>
|
||
|
||
</head>
|
||
<body>
|
||
<a name="//apple_ref/swift/Protocol/Validation" class="dashAnchor"></a>
|
||
<a title="Validation Protocol Reference"></a>
|
||
<header>
|
||
<div class="content-wrapper">
|
||
<p><a href="../index.html"> Docs</a> (98% documented)</p>
|
||
</div>
|
||
</header>
|
||
<div class="content-wrapper">
|
||
<p id="breadcrumbs">
|
||
<a href="../index.html"> Reference</a>
|
||
<img id="carat" src="../img/carat.png" />
|
||
Validation Protocol Reference
|
||
</p>
|
||
</div>
|
||
<div class="content-wrapper">
|
||
<nav class="sidebar">
|
||
<ul class="nav-groups">
|
||
<li class="nav-group-name">
|
||
<a href="../Extensions.html">Extensions</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/CustomStringConvertible.html">CustomStringConvertible</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a href="../Functions.html">Functions</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2neoiySbAA8FailableVyxq_G_ADyxq0_GtSQRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">!=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2neoiySbAA8FailableVyxq_G_ADyxq0_GtSzRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">!=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1roiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">%(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1aoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">&(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2amoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&*(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2apoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&+(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2asoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&-(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation3alloiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&<<(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation3aggoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKs17FixedWidthIntegerRz9SupportedQy_RszA2AR_A2AR0_ALQy0_AMRSr1_lF">&>>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1moiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSFRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">*(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1moiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">*(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1moiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">*(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1moiyAA8FailableVyxq_GAE_xtKSjRz9SupportedQy_RszA2AR_r0_lF">*(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2meoiyyAA8FailableVyxq_Gz_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">*=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2meoiyyAA8FailableVyxq_Gz_xtKSjRz9SupportedQy_RszA2AR_r0_lF">*=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1poiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSFRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">+(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1poiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">+(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1poiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">+(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1poiyAA8FailableVyxq_GAE_xtKSjRz9SupportedQy_RszA2AR_r0_lF">+(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2peoiyyAA8FailableVyxq_Gz_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">+=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2peoiyyAA8FailableVyxq_Gz_xtKSjRz9SupportedQy_RszA2AR_r0_lF">+=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1soiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSFRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">-(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1soiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">-(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1soiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">-(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1soiyAA8FailableVyxq_GAE_xtKSjRz9SupportedQy_RszA2AR_r0_lF">-(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2seoiyyAA8FailableVyxq_Gz_ADyxq0_GtKSjRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">-=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2seoiyyAA8FailableVyxq_Gz_xtKSjRz9SupportedQy_RszA2AR_r0_lF">-=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/...(_:_:)">...(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation3zzloiyAA8FailableVySnyxGAA07ElementA0VyAeA19AppendedValidationsVyxq_q0_GGGADyxq_G_ADyxq0_GtKSxRz9SupportedQy_RszA2AR_A2AR0_SZ6StrideRpzAOQy0_APRSr1_lF">..<(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1doiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSFRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">/(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1doiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">/(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1loiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1loiySbAA8FailableVyxq_G_ADyxq0_GtSLRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2leoiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2leoiySbAA8FailableVyxq_G_ADyxq0_GtSLRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2leoiySbAA8FailableVyxq_G_ADyxq0_GtSzRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2ltoiyyAA8FailableVyxq_Gz_xtK9SupportedQy_RszA2AR_r0_lF"><~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2eeoiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">==(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2eeoiySbAA8FailableVyxq_G_ADyxq0_GtSQRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">==(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1goiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1goiySbAA8FailableVyxq_G_ADyxq0_GtSLRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1goiySbAA8FailableVyxq_G_ADyxq0_GtSzRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2geoiySbAA8FailableVyxq_G_ADyxq0_GtSFRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2geoiySbAA8FailableVyxq_G_ADyxq0_GtSLRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2geoiySbAA8FailableVyxq_G_ADyxq0_GtSzRz9SupportedQy_RszA2AR_A2AR0_AGQy0_AHRSr1_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2qqoiyxAA8FailableVyxSgq_G_xyKXKtKA2AR_AE9SupportedRt_r0_lF">??(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation2qqoiyxSgAA8FailableVyACq_G_ACyKXKtKA2AR_AC9SupportedRt_r0_lF">??(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1xoiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">^(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Functions.html#/s:10Validation1ooiyAA8FailableVyxAA19AppendedValidationsVyxq_q0_GGADyxq_G_ADyxq0_GtKSzRz9SupportedQy_RszA2AR_A2AR0_AKQy0_ALRSr1_lF">|(_:_:)</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a href="../Protocols.html">Protocols</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/AnyValidation.html">AnyValidation</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/InRangeValidation.html">InRangeValidation</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/LengthValidation.html">LengthValidation</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/RegexValidation.html">RegexValidation</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/Validation.html">Validation</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a href="../Structs.html">Structures</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/AppendedValidations.html">AppendedValidations</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/ElementValidation.html">ElementValidation</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/Failable.html">Failable</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/NotNil.html">NotNil</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/NotNilValidate.html">NotNilValidate</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/ValidationError.html">ValidationError</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
<article class="main-content">
|
||
<section>
|
||
<section class="section">
|
||
<h1>Validation</h1>
|
||
<div class="declaration">
|
||
<div class="language">
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">Validation</span><span class="p">:</span> <span class="kt"><a href="../Protocols/AnyValidation.html">AnyValidation</a></span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<p>A type that can be used to validate a new value for a <code><a href="../Structs/Failable.html">Failable</a></code> type.</p>
|
||
|
||
<p>A <code>Validation</code> type can only be used for a <code><a href="../Structs/Failable.html">Failable</a></code> type if <code>Failable.T</code> and <code>Validation.Suuported</code> types are the same.</p>
|
||
|
||
<p>An example <code>Validation</code> implementation might look like this:</p>
|
||
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Length1028</span><span class="o"><</span><span class="kt">C</span><span class="o">></span><span class="p">:</span> <span class="kt">Validation</span> <span class="k">where</span> <span class="kt">C</span><span class="p">:</span> <span class="kt">Collection</span> <span class="p">{</span>
|
||
<span class="kd">static</span> <span class="kd">func</span> <span class="nf">validate</span><span class="p">(</span><span class="n">_</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">C</span><span class="p">)</span><span class="k">throws</span> <span class="p">{</span>
|
||
<span class="k">guard</span> <span class="n">value</span><span class="o">.</span><span class="n">count</span> <span class="o"><=</span> <span class="mi">1028</span> <span class="k">else</span> <span class="p">{</span> <span class="k">throw</span> <span class="kt">Error</span><span class="o">.</span><span class="n">toLong</span> <span class="p">}</span>
|
||
<span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
|
||
<p>Both the <code>subvalidations</code> property and the <code>validate</code> method have default implementations,
|
||
so neither need to be implemented to conform to <code>Validation</code>.</p>
|
||
|
||
</section>
|
||
<section class="section task-group-section">
|
||
<div class="task-group">
|
||
<ul>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:10ValidationAAP9SupportedQa"></a>
|
||
<a name="//apple_ref/swift/Alias/Supported" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:10ValidationAAP9SupportedQa">Supported</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>The type that this validation can validate.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">associatedtype</span> <span class="kt">Supported</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:10ValidationAAP8validateyy9SupportedQzKFZ"></a>
|
||
<a name="//apple_ref/swift/Method/validate(_:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:10ValidationAAP8validateyy9SupportedQzKFZ">validate(_:)</a>
|
||
</code>
|
||
<span class="declaration-note">
|
||
Default implementation
|
||
</span>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>A type-safe method for validating a new value for a <code><a href="../Structs/Failable.html">Failable</a></code> instance.</p>
|
||
|
||
</div>
|
||
<h4>Default Implementation</h4>
|
||
<div class="default_impl abstract">
|
||
<p>The default implementation of the <code>Validation.validate</code> method. Does nothing.
|
||
You should keepo the default implementation if the validation is just a collection of other validations to run.</p>
|
||
<p>The default implementation for the type-erased <code>validate</code> method. This implementation takes the value and trys to cast it
|
||
to the associated <code>Support</code> type. If casting fails, <code>ValidationError.invalidType</code> is thrown.
|
||
Otherwise, the type-safe <code>validate</code> method is called.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">validate</span><span class="p">(</span><span class="n">_</span> <span class="nv">value</span><span class="p">:</span> <span class="kt"><a href="../Protocols/Validation.html#/s:10ValidationAAP9SupportedQa">Supported</a></span><span class="p">)</span><span class="k">throws</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>value</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The new value to validate.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="task-group">
|
||
<ul>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:10Validation03AnyA0P4typeypXpvpZ"></a>
|
||
<a name="//apple_ref/swift/Variable/type" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:10Validation03AnyA0P4typeypXpvpZ">type</a>
|
||
</code>
|
||
<span class="declaration-note">
|
||
Extension method
|
||
</span>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">type</span><span class="p">:</span> <span class="kt">Any</span><span class="o">.</span><span class="k">Type</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:10Validation03AnyA0P14subvalidationsSayAaB_pXpGvpZ"></a>
|
||
<a name="//apple_ref/swift/Variable/subvalidations" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:10Validation03AnyA0P14subvalidationsSayAaB_pXpGvpZ">subvalidations</a>
|
||
</code>
|
||
<span class="declaration-note">
|
||
Extension method
|
||
</span>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">subvalidations</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/AnyValidation.html">AnyValidation</a></span><span class="o">.</span><span class="k">Type</span><span class="p">]</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="task-group">
|
||
<ul>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:10ValidationAAPAAE18safeSubvalidationsSayAA03AnyA0_pXpGvpZ"></a>
|
||
<a name="//apple_ref/swift/Variable/safeSubvalidations" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:10ValidationAAPAAE18safeSubvalidationsSayAA03AnyA0_pXpGvpZ">safeSubvalidations</a>
|
||
</code>
|
||
<span class="declaration-note">
|
||
Extension method
|
||
</span>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Subvalidations that expect an input type that matches the validation’s <code>Support</code> type.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">safeSubvalidations</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/AnyValidation.html">AnyValidation</a></span><span class="o">.</span><span class="k">Type</span><span class="p">]</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:10ValidationAAPAAE3runyy9SupportedQzKFZ"></a>
|
||
<a name="//apple_ref/swift/Method/run(_:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:10ValidationAAPAAE3runyy9SupportedQzKFZ">run(_:)</a>
|
||
</code>
|
||
<span class="declaration-note">
|
||
Extension method
|
||
</span>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Runs the currenct validation and any subvalidations that support the <code><a href="../Protocols/Validation.html#/s:10ValidationAAP9SupportedQa">Supported</a></code> type.
|
||
This runs recursively until the bottom of the validation tree is found.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">run</span><span class="p">(</span><span class="n">_</span> <span class="nv">value</span><span class="p">:</span> <span class="kt"><a href="../Protocols/Validation.html#/s:10ValidationAAP9SupportedQa">Supported</a></span><span class="p">)</span><span class="k">throws</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>value</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The value to validate.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="footer">
|
||
<p>© 2018 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2018-12-10)</p>
|
||
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.1</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
|
||
</section>
|
||
</article>
|
||
</div>
|
||
</body>
|
||
</div>
|
||
</html>
|