Skip to content

Commit 760577c

Browse files
committed
Deploy website
Deploy website version based on 56518106696e0c4a87a458c097ebca02be534f5c
1 parent 70c15e4 commit 760577c

61 files changed

Lines changed: 2572 additions & 111 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/6.10.0/custom-validators-sanitizers.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ <h2><a class="anchor" aria-hidden="true" id="custom-validator"></a><a href="#cus
6767
<p><strong>Note:</strong> if your custom validator returns a promise, it must reject to indicate that the field is invalid.</p>
6868
</blockquote>
6969
<h3><a class="anchor" aria-hidden="true" id="example-checking-if-e-mail-is-in-use"></a><a href="#example-checking-if-e-mail-is-in-use" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Example: checking if e-mail is in use</h3>
70-
<div class="tabs"><div class="nav-tabs"><div id="tab-group-130-tab-131" class="nav-link active" data-group="group_130" data-tab="tab-group-130-content-131">JavaScript</div><div id="tab-group-130-tab-132" class="nav-link" data-group="group_130" data-tab="tab-group-130-content-132">TypeScript</div></div><div class="tab-content"><div id="tab-group-130-content-131" class="tab-pane active" data-group="group_130" tabindex="-1"><div><span><pre><code class="hljs css language-js"><span class="hljs-keyword">const</span> { body } = <span class="hljs-built_in">require</span>(<span class="hljs-string">'express-validator'</span>);<br /><br />app.post(<br /> <span class="hljs-string">'/user'</span>,<br /> body(<span class="hljs-string">'email'</span>).custom(<span class="hljs-function"><span class="hljs-params">value</span> =&gt;</span> {<br /> <span class="hljs-keyword">return</span> User.findUserByEmail(value).then(<span class="hljs-function"><span class="hljs-params">user</span> =&gt;</span> {<br /> <span class="hljs-keyword">if</span> (user) {<br /> <span class="hljs-keyword">return</span> <span class="hljs-built_in">Promise</span>.reject(<span class="hljs-string">'E-mail already in use'</span>);<br /> }<br /> });<br /> }),<br /> (req, res) =&gt; {<br /> <span class="hljs-comment">// Handle the request</span><br /> },<br />);<br /></code></pre>
71-
</span></div></div><div id="tab-group-130-content-132" class="tab-pane" data-group="group_130" tabindex="-1"><div><span><pre><code class="hljs css language-js"><span class="hljs-keyword">import</span> { body, CustomValidator } <span class="hljs-keyword">from</span> <span class="hljs-string">'express-validator'</span>;<br /><span class="hljs-comment">// This allows you to reuse the validator</span><br /><span class="hljs-keyword">const</span> isValidUser: CustomValidator = <span class="hljs-function"><span class="hljs-params">value</span> =&gt;</span> {<br /> <span class="hljs-keyword">return</span> User.findUserByEmail(value).then(<span class="hljs-function"><span class="hljs-params">user</span> =&gt;</span> {<br /> <span class="hljs-keyword">if</span> (user) {<br /> <span class="hljs-keyword">return</span> <span class="hljs-built_in">Promise</span>.reject(<span class="hljs-string">'E-mail already in use'</span>);<br /> }<br /> });<br />};<br /><br />app.post(<span class="hljs-string">'/user'</span>, body(<span class="hljs-string">'email'</span>).custom(isValidUser), (req, res) =&gt; {<br /> <span class="hljs-comment">// Handle the request</span><br />});<br /></code></pre>
70+
<div class="tabs"><div class="nav-tabs"><div id="tab-group-148-tab-149" class="nav-link active" data-group="group_148" data-tab="tab-group-148-content-149">JavaScript</div><div id="tab-group-148-tab-150" class="nav-link" data-group="group_148" data-tab="tab-group-148-content-150">TypeScript</div></div><div class="tab-content"><div id="tab-group-148-content-149" class="tab-pane active" data-group="group_148" tabindex="-1"><div><span><pre><code class="hljs css language-js"><span class="hljs-keyword">const</span> { body } = <span class="hljs-built_in">require</span>(<span class="hljs-string">'express-validator'</span>);<br /><br />app.post(<br /> <span class="hljs-string">'/user'</span>,<br /> body(<span class="hljs-string">'email'</span>).custom(<span class="hljs-function"><span class="hljs-params">value</span> =&gt;</span> {<br /> <span class="hljs-keyword">return</span> User.findUserByEmail(value).then(<span class="hljs-function"><span class="hljs-params">user</span> =&gt;</span> {<br /> <span class="hljs-keyword">if</span> (user) {<br /> <span class="hljs-keyword">return</span> <span class="hljs-built_in">Promise</span>.reject(<span class="hljs-string">'E-mail already in use'</span>);<br /> }<br /> });<br /> }),<br /> (req, res) =&gt; {<br /> <span class="hljs-comment">// Handle the request</span><br /> },<br />);<br /></code></pre>
71+
</span></div></div><div id="tab-group-148-content-150" class="tab-pane" data-group="group_148" tabindex="-1"><div><span><pre><code class="hljs css language-js"><span class="hljs-keyword">import</span> { body, CustomValidator } <span class="hljs-keyword">from</span> <span class="hljs-string">'express-validator'</span>;<br /><span class="hljs-comment">// This allows you to reuse the validator</span><br /><span class="hljs-keyword">const</span> isValidUser: CustomValidator = <span class="hljs-function"><span class="hljs-params">value</span> =&gt;</span> {<br /> <span class="hljs-keyword">return</span> User.findUserByEmail(value).then(<span class="hljs-function"><span class="hljs-params">user</span> =&gt;</span> {<br /> <span class="hljs-keyword">if</span> (user) {<br /> <span class="hljs-keyword">return</span> <span class="hljs-built_in">Promise</span>.reject(<span class="hljs-string">'E-mail already in use'</span>);<br /> }<br /> });<br />};<br /><br />app.post(<span class="hljs-string">'/user'</span>, body(<span class="hljs-string">'email'</span>).custom(isValidUser), (req, res) =&gt; {<br /> <span class="hljs-comment">// Handle the request</span><br />});<br /></code></pre>
7272
</span></div></div></div></div>
7373
<h3><a class="anchor" aria-hidden="true" id="example-checking-if-password-confirmation-matches-password"></a><a href="#example-checking-if-password-confirmation-matches-password" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Example: checking if password confirmation matches password</h3>
7474
<pre><code class="hljs css language-js"><span class="hljs-keyword">const</span> { body } = <span class="hljs-built_in">require</span>(<span class="hljs-string">'express-validator'</span>);
@@ -95,8 +95,8 @@ <h2><a class="anchor" aria-hidden="true" id="custom-sanitizers"></a><a href="#cu
9595
Just like with the validators, you specify the sanitizer function, which <em>must</em> be synchronous at the
9696
moment.</p>
9797
<h3><a class="anchor" aria-hidden="true" id="example-converting-to-mongodbs-objectid"></a><a href="#example-converting-to-mongodbs-objectid" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Example: converting to MongoDB's ObjectID</h3>
98-
<div class="tabs"><div class="nav-tabs"><div id="tab-group-133-tab-134" class="nav-link active" data-group="group_133" data-tab="tab-group-133-content-134">JavaScript</div><div id="tab-group-133-tab-135" class="nav-link" data-group="group_133" data-tab="tab-group-133-content-135">TypeScript</div></div><div class="tab-content"><div id="tab-group-133-content-134" class="tab-pane active" data-group="group_133" tabindex="-1"><div><span><pre><code class="hljs css language-js"><span class="hljs-keyword">const</span> { param } = <span class="hljs-built_in">require</span>(<span class="hljs-string">'express-validator'</span>);<br /><br />app.post(<br /> <span class="hljs-string">'/object/:id'</span>,<br /> param(<span class="hljs-string">'id'</span>).customSanitizer(<span class="hljs-function"><span class="hljs-params">value</span> =&gt;</span> {<br /> <span class="hljs-keyword">return</span> ObjectId(value);<br /> }),<br /> (req, res) =&gt; {<br /> <span class="hljs-comment">// Handle the request</span><br /> },<br />);<br /></code></pre>
99-
</span></div></div><div id="tab-group-133-content-135" class="tab-pane" data-group="group_133" tabindex="-1"><div><span><pre><code class="hljs css language-typescript"><span class="hljs-keyword">import</span> { param } <span class="hljs-keyword">from</span> <span class="hljs-string">'express-validator'</span>;<br /><span class="hljs-comment">// This allows you to reuse the validator</span><br /><span class="hljs-keyword">const</span> toObjectId: CustomSanitizer = <span class="hljs-function"><span class="hljs-params">value</span> =&gt;</span> {<br /> <span class="hljs-keyword">return</span> ObjectId(value);<br />};<br /><br />app.post(<span class="hljs-string">'/object/:id'</span>, param(<span class="hljs-string">'id'</span>).customSanitizer(toObjectId), <span class="hljs-function">(<span class="hljs-params">req, res</span>) =&gt;</span> {<br /> <span class="hljs-comment">// Handle the request</span><br />});<br /></code></pre>
98+
<div class="tabs"><div class="nav-tabs"><div id="tab-group-151-tab-152" class="nav-link active" data-group="group_151" data-tab="tab-group-151-content-152">JavaScript</div><div id="tab-group-151-tab-153" class="nav-link" data-group="group_151" data-tab="tab-group-151-content-153">TypeScript</div></div><div class="tab-content"><div id="tab-group-151-content-152" class="tab-pane active" data-group="group_151" tabindex="-1"><div><span><pre><code class="hljs css language-js"><span class="hljs-keyword">const</span> { param } = <span class="hljs-built_in">require</span>(<span class="hljs-string">'express-validator'</span>);<br /><br />app.post(<br /> <span class="hljs-string">'/object/:id'</span>,<br /> param(<span class="hljs-string">'id'</span>).customSanitizer(<span class="hljs-function"><span class="hljs-params">value</span> =&gt;</span> {<br /> <span class="hljs-keyword">return</span> ObjectId(value);<br /> }),<br /> (req, res) =&gt; {<br /> <span class="hljs-comment">// Handle the request</span><br /> },<br />);<br /></code></pre>
99+
</span></div></div><div id="tab-group-151-content-153" class="tab-pane" data-group="group_151" tabindex="-1"><div><span><pre><code class="hljs css language-typescript"><span class="hljs-keyword">import</span> { param } <span class="hljs-keyword">from</span> <span class="hljs-string">'express-validator'</span>;<br /><span class="hljs-comment">// This allows you to reuse the validator</span><br /><span class="hljs-keyword">const</span> toObjectId: CustomSanitizer = <span class="hljs-function"><span class="hljs-params">value</span> =&gt;</span> {<br /> <span class="hljs-keyword">return</span> ObjectId(value);<br />};<br /><br />app.post(<span class="hljs-string">'/object/:id'</span>, param(<span class="hljs-string">'id'</span>).customSanitizer(toObjectId), <span class="hljs-function">(<span class="hljs-params">req, res</span>) =&gt;</span> {<br /> <span class="hljs-comment">// Handle the request</span><br />});<br /></code></pre>
100100
</span></div></div></div></div>
101101
</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/6.10.0/sanitization.html"><span class="arrow-prev"></span><span>Sanitization</span></a><a class="docs-next button" href="/docs/6.10.0/custom-error-messages.html"><span>Custom Error Messages</span><span class="arrow-next"></span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#custom-validator">Custom validator</a><ul class="toc-headings"><li><a href="#example-checking-if-e-mail-is-in-use">Example: checking if e-mail is in use</a></li><li><a href="#example-checking-if-password-confirmation-matches-password">Example: checking if password confirmation matches password</a></li></ul></li><li><a href="#custom-sanitizers">Custom sanitizers</a><ul class="toc-headings"><li><a href="#example-converting-to-mongodbs-objectid">Example: converting to MongoDB's ObjectID</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/logo.svg" alt="express-validator" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/index.html">Getting Started</a><a href="/docs/check-api.html">API Reference</a></div><div><h5>Community</h5><a href="http://stackoverflow.com/questions/tagged/express-validator" target="_blank" rel="noreferrer noopener">Stack Overflow</a></div><div><h5>More</h5><a href="https://github.com/express-validator/express-validator">GitHub</a><a class="github-button" href="https://github.com/express-validator/express-validator" data-icon="octicon-star" data-count-href="/express-validator/express-validator/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2021 express-validator</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
102102
document.addEventListener('keyup', function(e) {

0 commit comments

Comments
 (0)