{
    "componentChunkName": "component---src-templates-blog-post-js",
    "path": "/implement-jwt-based-user-authentication-in-a-mern-stack-app-part-5/",
    "result": {"data":{"markdownRemark":{"html":"<div class=\"table-of-contents\">\n<ul>\n<li><a href=\"#handling-form-state\">Handling form state</a></li>\n<li><a href=\"#handling-form-validation-and-showing-error-messages\">Handling form validation and showing error messages</a></li>\n<li><a href=\"#reducing-the-boilerplate-using-getfieldprops\">Reducing the boilerplate using getFieldprops()</a></li>\n</ul>\n</div>\n<h6 id=\"this-blog-post-is-part-of-a-series-you-must-finish-part-1-part-2-part-3--part-4-before-continuing-here\" style=\"position:relative;\"><a href=\"#this-blog-post-is-part-of-a-series-you-must-finish-part-1-part-2-part-3--part-4-before-continuing-here\" aria-label=\"this blog post is part of a series you must finish part 1 part 2 part 3  part 4 before continuing here permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" 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>This blog post is part of a series. You must finish <a href=\"https://hemanta.io/implement-jwt-based-user-authentication-in-a-mern-stack-app-part-1/\">part-1</a>, <a href=\"https://hemanta.io/implement-jwt-based-user-authentication-in-a-mern-stack-app-part-2/\">part-2</a>, <a href=\"https://hemanta.io/implement-jwt-based-user-authentication-in-a-mern-stack-app-part-3/\">part-3</a> &#x26; <a href=\"https://hemanta.io/implement-jwt-based-user-authentication-in-a-mern-stack-app-part-4/\">part-4</a> before continuing here.</h6>\n<p>Our registartion and login forms are ready. Now comes the fun part - handling form state, form validation and error messages.</p>\n<p>We can handle these things using plain react. No problem at all. But we will take the help of a library called Formik to make our life a little bit easier.</p>\n<p>Formik will help us achieve the following:</p>\n<ul>\n<li>Getting values in and out of form state</li>\n<li>Validation and error messages</li>\n<li>Handling form submission</li>\n</ul>\n<p>First, we will install formik.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"sh\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-source\"><span class=\"mtk1\">PS C:</span><span class=\"mtk6\">\\U</span><span class=\"mtk1\">sers</span><span class=\"mtk6\">\\D</span><span class=\"mtk1\">elhivery</span><span class=\"mtk6\">\\D</span><span class=\"mtk1\">esktop</span><span class=\"mtk6\">\\m</span><span class=\"mtk1\">ern-auth</span><span class=\"mtk6\">\\c</span><span class=\"mtk1\">lient</span><span class=\"mtk10\">&gt;</span><span class=\"mtk1\"> npm i formik</span></span></span></code></pre>\n<h3 id=\"handling-form-state\" style=\"position:relative;\"><a href=\"#handling-form-state\" aria-label=\"handling form state permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" 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>Handling form state</h3>\n<p>In the <del>RegisterForm</del> component, we import the <del>useFormik</del> hook. Then we pass our form’s initial values and a submission function (<del>onSubmit</del>) to the <del>useFormik</del> hook. The hook then returns to us the form state and helper methods in a variable called <del>formik</del>.</p>\n<p>The helpers methods that we care about are as follows:</p>\n<ul>\n<li><strong>values</strong>: Our form’s current values</li>\n<li><strong>handleSubmit</strong>: A submission handler</li>\n<li><strong>handleChange</strong>: A change handler to pass to each input</li>\n</ul>\n<p>What we have done below is we have passed each of these helper methods to their respective props.</p>\n<div class=\"gatsby-code-title\">client/src/components/RegisterForm.js</div>\n<pre class=\"grvsc-container grvsc-has-line-highlighting synthwave-84\" data-language=\"jsx\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk3\">React</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;react&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> { </span><span class=\"mtk3\">useFormik</span><span class=\"mtk1\"> } </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;formik&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk6\">RegisterForm</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> () </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk6\">useFormik</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"6\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">initialValues</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"7\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">firstName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"8\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">lastName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"9\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"10\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"11\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"12\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"13\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">onSubmit</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3 mtki\">values</span><span class=\"mtk1\"> </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"14\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">values</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"15\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"16\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  })</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"17\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"18\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">return</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"19\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;register-form-container&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"20\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"21\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">h1</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;font-weight-bold&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Register</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">h1</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"22\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"23\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"24\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">form</span><span class=\"mtk1\"> </span><span class=\"mtk10\">onSubmit</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleSubmit</span><span class=\"mtk10\">}</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"25\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto mt-5&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"26\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">First Name</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"27\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"28\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"29\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"30\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"31\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;text&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"32\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"33\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"34\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"35\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"36\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"37\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Last Name</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"38\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"39\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"40\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"41\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"42\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;text&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"43\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"44\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"45\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"46\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"47\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"48\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Email</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"49\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"50\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"51\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"52\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"53\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"54\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"55\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"56\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"57\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"58\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"59\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Password</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"60\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"61\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"62\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"63\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"64\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"65\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"66\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"67\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"68\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"69\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"70\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">button</span><span class=\"mtk1\"> </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;submit&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;btn btn-lg btn-primary btn-block&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"71\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            Register</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"72\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">button</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"73\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"74\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">form</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"75\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"76\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  )</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"77\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"78\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"79\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">export</span><span class=\"mtk1\"> </span><span class=\"mtk10\">default</span><span class=\"mtk1\"> </span><span class=\"mtk3\">RegisterForm</span></span></span></code></pre>\n<blockquote>\n<p><strong>Note</strong>: The <strong>id</strong> and <strong>name</strong> HTML attribute that we pass to the input must match the property names defined in <del>initialValues</del>.</p>\n</blockquote>\n<p>On line 14, we are logging the value of <del>values</del> to the console inside the <del>onSubmit</del> submission function. The <del>values</del> variable is where formik stores our form’s current values.</p>\n<p>Don’t fill anything in the registration form and click on <del>Register</del>. If you check the console, you will see an object that holds our form’s values. Because we did not fill anything in the form, our form’s values (<del>firstName</del>, <del>lastName</del>, <del>email</del>, <del>password</del>) are empty strings.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 598px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/469c4d9452d1a3220039278c9763e5fe/02e46/emptyFormState.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 33.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA2UlEQVQY05XOiZHDIAwAQPpvMhkDDohHSAQjg3FuJhVctoJVWhtEfL2ccz7l8twMhBRC9B4Qi7V7iDGEuO+79xBjImJrrTG2FFLGmBACAFApPvHDJu3Stm3OOUSstfZ+9N4BwBjtnEspEREAIKLKORcqTFxrbe96XWOOU0TOr7XWnHOthYjaWK21tdZ7DwApJcXEGLFwmaccrRWi85Q1Z2vtGmOIcK0iXY6OLPF7jDHmnIlIzWPik6qrY4z7vj+/ULPPsjEZ7r1/fqTkkAP7aIOZc87Xdd3/9gcNZJEhYtHYmQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Empty form state\"\n        title=\"Empty form state\"\n        src=\"/static/469c4d9452d1a3220039278c9763e5fe/02e46/emptyFormState.png\"\n        srcset=\"/static/469c4d9452d1a3220039278c9763e5fe/56d15/emptyFormState.png 200w,\n/static/469c4d9452d1a3220039278c9763e5fe/d9f49/emptyFormState.png 400w,\n/static/469c4d9452d1a3220039278c9763e5fe/02e46/emptyFormState.png 598w\"\n        sizes=\"(max-width: 598px) 100vw, 598px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>Now, fill the form with details and click on the <del>Register</del> button.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 722px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/969c8a71faff2e1f04a4f7c026b4ddb7/ad973/registerFormState.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 68.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABNUlEQVQoz6WP2UrDUBCGY59S77Ta5UIK4tP4Ai61qXjTNxCXO9uIVwpthK62JznJnKU5M5LYxiKn0uLPxzAz8PPPOM72KhR2FrWyolKpVC6XK3+qWq3WarXjTA79Q44xJkkSIup2e3f3D+1OB0AgotlAP8laKc5DKcUWyXnHuHj3R2MmQoEBGCssNiCNxRyB9PuTIFJCEyi0EktUc7SYw0i+9YajGYSAQWxSrMnKlsw5jD8DNUdtSCck5yj0b0CvSWYh+H3Wn3B/MPUHs9EMgvyEJSwysfVnHkH3YzgNYhbCNIg56EXaJj9TolCGhHo543pWzCYbGx7tXppD1xSbWGzivosnLTxt4YGL35ujG9y7wrMnzC2pGbOuM6CLNrkvdO2l1D26fU2pe4tNw6PzZ3r0Kbd8ASsMx2VYTk1sAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Registartion form state\"\n        title=\"Registartion form state\"\n        src=\"/static/969c8a71faff2e1f04a4f7c026b4ddb7/ad973/registerFormState.png\"\n        srcset=\"/static/969c8a71faff2e1f04a4f7c026b4ddb7/56d15/registerFormState.png 200w,\n/static/969c8a71faff2e1f04a4f7c026b4ddb7/d9f49/registerFormState.png 400w,\n/static/969c8a71faff2e1f04a4f7c026b4ddb7/ad973/registerFormState.png 722w\"\n        sizes=\"(max-width: 722px) 100vw, 722px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>In the console, you will get an object that holds our form’s values.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 624px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d088f293bbeaf5643d0be2a5c1eb86db/08d47/registerFormStateFilled.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 36.50000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAA7CAAAOwgEVKEqAAAABGElEQVQoz5WQ246jMAxA+f9P3NVsqQqEJiFALhQIyRklM+rTPMxaOrIcHdtymq7rKCil6LsOqSf+tiN/bgIhnvXNGIMYhpqLV/xxHNFaM2nN4/H4coSgkVJWaZ5nnHOEsOEqAak0xkxYaznOsxJjrN4gBH3fI5XCOoeZ57qoySmzWcu6LjhnOYwhGsPpPdZMOL8RvScuC+e+48NG2ndeSjENPXPfM91uWCkp0aSUCGphkSvL80kYR45REO4t4d8HVs8cPpDTRXELuXBdkFIlx/iVc6YpU+N2sbQrQXvO58g+9Fzn+d10kXPip8jfvOsyMJPZ1lcd6CePube49sa5zFV4N+b8K5p4lTMuyl+Wc17HQUzpvfF/+QQWgh0XYzbvygAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Filled registration form\"\n        title=\"Filled registration form\"\n        src=\"/static/d088f293bbeaf5643d0be2a5c1eb86db/08d47/registerFormStateFilled.png\"\n        srcset=\"/static/d088f293bbeaf5643d0be2a5c1eb86db/56d15/registerFormStateFilled.png 200w,\n/static/d088f293bbeaf5643d0be2a5c1eb86db/d9f49/registerFormStateFilled.png 400w,\n/static/d088f293bbeaf5643d0be2a5c1eb86db/08d47/registerFormStateFilled.png 624w\"\n        sizes=\"(max-width: 624px) 100vw, 624px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>With the help of some handler methods from Formik, we have now taken care of the form state. Next, we will move on to form validation.</p>\n<h3 id=\"handling-form-validation-and-showing-error-messages\" style=\"position:relative;\"><a href=\"#handling-form-validation-and-showing-error-messages\" aria-label=\"handling form validation and showing error messages permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" 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>Handling form validation and showing error messages</h3>\n<p>Before we send our form data to the server, we must ensure that all the required form controls are filled in the correct format. This is called client-side form validation.</p>\n<p>Because it is relatively easier to bypass client-side validation, a malicious user can send bad data to our server. Therefore, as a security measure, we are also going to implement server-side form validation later when we tackle the server-side part of our application.</p>\n<p>Coming back to client-side form validation, we can write our own custom validation function if we want. However, a large portion of Formik’s users use a library called <del>Yup</del>, whose primary use case is client-side validation.</p>\n<p>Since Formik users love <del>Yup</del> so much, Formik has a special configuration prop for <del>Yup</del> called <del>validationSchema</del>, which will automatically transform <del>Yup</del>’s validation errors into a pretty object.</p>\n<p>First, we will install <del>Yup</del>.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"sh\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-source\"><span class=\"mtk1\">PS C:</span><span class=\"mtk6\">\\U</span><span class=\"mtk1\">sers</span><span class=\"mtk6\">\\D</span><span class=\"mtk1\">elhivery</span><span class=\"mtk6\">\\D</span><span class=\"mtk1\">esktop</span><span class=\"mtk6\">\\m</span><span class=\"mtk1\">ern-auth</span><span class=\"mtk6\">\\c</span><span class=\"mtk1\">lient</span><span class=\"mtk10\">&gt;</span><span class=\"mtk1\"> npm i yup</span></span></span></code></pre>\n<p>In addition to the form state, Formik keeps track of the validation and error messages. All the validation errors will be available to us in the <del>formik.errors</del> object.</p>\n<p>If there is any validation error, we will show the error message below the respective input field.</p>\n<div class=\"gatsby-code-title\">client/src/components/RegisterForm.js</div>\n<pre class=\"grvsc-container grvsc-has-line-highlighting synthwave-84\" data-language=\"jsx\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk3\">React</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;react&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> { </span><span class=\"mtk3\">useFormik</span><span class=\"mtk1\"> } </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;formik&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk5\">*</span><span class=\"mtk1\"> </span><span class=\"mtk10\">as</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;yup&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk6\">RegisterForm</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> () </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"6\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk6\">useFormik</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"7\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">initialValues</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"8\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">firstName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"9\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">lastName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"10\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"11\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"12\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"13\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">validationSchema</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">object</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"14\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">firstName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"15\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">max</span><span class=\"mtk1\">(</span><span class=\"mtk7\">20</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 20 characters or less&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"16\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your first name&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"17\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">lastName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"18\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">max</span><span class=\"mtk1\">(</span><span class=\"mtk7\">20</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 20 characters or less&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"19\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your last name&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"20\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"21\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">email</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Invalid email address&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"22\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your email address&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"23\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"24\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">min</span><span class=\"mtk1\">(</span><span class=\"mtk7\">5</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 5 characters or more&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"25\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your password&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"26\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    }),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"27\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"28\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">onSubmit</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3 mtki\">values</span><span class=\"mtk1\"> </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"29\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">values</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"30\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"31\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  })</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"32\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"33\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">return</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"34\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;register-form-container&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"35\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"36\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">h1</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;font-weight-bold&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Register</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">h1</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"37\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"38\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"39\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">form</span><span class=\"mtk1\"> </span><span class=\"mtk10\">onSubmit</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleSubmit</span><span class=\"mtk10\">}</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"40\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto mt-5&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"41\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">First Name</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"42\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"43\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"44\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"45\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"46\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;text&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"47\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"48\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"49\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"50\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"51\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"52\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"53\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"54\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"55\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"56\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"57\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Last Name</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"58\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"59\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"60\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"61\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"62\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;text&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"63\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"64\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"65\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"66\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"67\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"68\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"69\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"70\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"71\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"72\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"73\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Email</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"74\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"75\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"76\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"77\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"78\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"79\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"80\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"81\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"82\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"83\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"84\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"85\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"86\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"87\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"88\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"89\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Password</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"90\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"91\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"92\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"93\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"94\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"95\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"96\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"97\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"98\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"99\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"100\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"101\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"102\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"103\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"104\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"105\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">button</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"106\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;submit&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"107\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;btn btn-lg btn-primary btn-block register-button&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"108\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"109\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            Register</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"110\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">button</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"111\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"112\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">form</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"113\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"114\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  )</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"115\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"116\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"117\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">export</span><span class=\"mtk1\"> </span><span class=\"mtk10\">default</span><span class=\"mtk1\"> </span><span class=\"mtk3\">RegisterForm</span></span></span></code></pre>\n<p>By default, Formik validates after each keystroke (<em>change event</em>), each input’s blur event as well as prior to submission.</p>\n<blockquote>\n<p>The blur event will fire when an element has lost focus.</p>\n</blockquote>\n<p>Now, if I type just the text <del>he</del> in the \"First Name\" form field, error messages for the rest of the form fields (<em>which I have not visited yet</em>) are displayed.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 633px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ecfc198d0c23a16de0d9821c06f8a81f/a855c/registerValidationError2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 74%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAIAAABr+ngCAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABAklEQVQoz5WSX0rDQBDGex89gIJeQU/VA+iTom89iEXa+KA9gKYiAR/6LwGT3SQ7OzOfJCRtH0Q2Hx/LMPBjZj52BIBaOUcsgiEaAYiXy9k8elssNtsdAFUdAIuItZaIMFANXBQmTbPC2HZqqDqYyDvnVFUklBTp4bKs0iwzxrQHh7qDlVm9Z0fsWUTDLP3korB5LuSFOXxsB1dVVdWu33ngzeq9Osd1zW1sw9LOf/L1am1NKSwcdvMBBhig9tVg94F9rGj6Xs/jevbpowR7v343Pu5ECV4SPH8h3vWBjac4vcXlI87vDz67w/UEV5OmOO5fPODkBuMn7Nf+W6yN//nbvzZ3YBy2AerEAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Registration form validation error message\"\n        title=\"Registration form validation error message\"\n        src=\"/static/ecfc198d0c23a16de0d9821c06f8a81f/a855c/registerValidationError2.png\"\n        srcset=\"/static/ecfc198d0c23a16de0d9821c06f8a81f/56d15/registerValidationError2.png 200w,\n/static/ecfc198d0c23a16de0d9821c06f8a81f/d9f49/registerValidationError2.png 400w,\n/static/ecfc198d0c23a16de0d9821c06f8a81f/a855c/registerValidationError2.png 633w\"\n        sizes=\"(max-width: 633px) 100vw, 633px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>This happens because our validation function runs on each keystroke against the entire form’s values and our errors object contains all the errors at any given moment.</p>\n<p>This is clearly a bad user experience. We want to show a field’s error message only after a user is done typing in that field.</p>\n<p>Like errors and values, Formik keeps track of which fields have been visited in an object called <del>touched</del>. The keys of <del>touched</del> are the field names and the values of touched are booleans true/false.</p>\n<p>To take advantage of <del>touched</del>, we pass <del>formik.handleBlur</del> to each input’s <del>onBlur</del> prop. Now that we are tracking <del>touched</del>, we can now change the error message render logic to only show a given field’s error messages if it exists and if the user has visited the field.</p>\n<div class=\"gatsby-code-title\">client/src/components/RegisterForm.js</div>\n<pre class=\"grvsc-container grvsc-has-line-highlighting synthwave-84\" data-language=\"jsx\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk3\">React</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;react&quot;</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> { </span><span class=\"mtk3\">useFormik</span><span class=\"mtk1\"> } </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;formik&quot;</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk5\">*</span><span class=\"mtk1\"> </span><span class=\"mtk10\">as</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;yup&quot;</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk6\">RegisterForm</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> () </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"6\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk6\">useFormik</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"7\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">initialValues</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"8\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">firstName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"9\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">lastName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"10\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"11\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"12\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"13\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">validationSchema</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">object</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"14\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">firstName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"15\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">max</span><span class=\"mtk1\">(</span><span class=\"mtk7\">20</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 20 characters or less&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"16\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your first name&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"17\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">lastName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"18\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">max</span><span class=\"mtk1\">(</span><span class=\"mtk7\">20</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 20 characters or less&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"19\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your last name&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"20\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"21\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">email</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Invalid email address&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"22\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your email address&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"23\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"24\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">min</span><span class=\"mtk1\">(</span><span class=\"mtk7\">5</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 5 characters or more&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"25\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your password&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"26\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    }),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"27\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"28\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">onSubmit</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> (</span><span class=\"mtk3 mtki\">values</span><span class=\"mtk1\">) </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"29\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">values</span><span class=\"mtk1\">);</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"30\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"31\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  });</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"32\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"33\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">return</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"34\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;register-form-container&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"35\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"36\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">h1</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;font-weight-bold&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Register</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">h1</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"37\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"38\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"39\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">form</span><span class=\"mtk1\"> </span><span class=\"mtk10\">onSubmit</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleSubmit</span><span class=\"mtk10\">}</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"40\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto mt-5&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"41\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">First Name</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"42\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"43\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"44\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"45\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"46\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;text&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"47\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"48\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onBlur</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleBlur</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"49\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"50\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"51\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"52\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"53\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"54\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"55\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"56\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"57\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"58\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Last Name</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"59\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"60\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"61\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"62\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"63\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;text&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"64\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"65\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onBlur</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleBlur</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"66\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"67\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"68\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"69\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"70\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"71\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"72\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"73\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"74\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"75\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Email</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"76\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"77\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"78\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"79\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"80\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"81\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"82\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onBlur</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleBlur</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"83\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"84\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"85\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"86\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"87\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"88\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"89\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"90\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"91\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"92\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Password</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"93\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"94\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"95\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"96\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"97\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"98\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onChange</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleChange</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"99\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">onBlur</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleBlur</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"100\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">value</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">values</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"101\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"102\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"103\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"104\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"105\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"106\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"107\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"108\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"109\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">button</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"110\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;submit&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"111\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;btn btn-lg btn-primary btn-block register-button&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"112\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"113\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            Register</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"114\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">button</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"115\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"116\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">form</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"117\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"118\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  );</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"119\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">};</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"120\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"121\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">export</span><span class=\"mtk1\"> </span><span class=\"mtk10\">default</span><span class=\"mtk1\"> </span><span class=\"mtk3\">RegisterForm</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"122\"></span><span class=\"grvsc-source\"></span></span></code></pre>\n<p>Now, if we click on a form field (<em>let’s say Last Name</em>), leave the field blank and then click anywhere outside of that form field, the blur event will be fired. Because the \"Last Name\" form field is required (<em>as defined in <del>validationSchema</del></em>), the Formik errors object will be filled with the error message, which will then be rendered below the form field. This holds true for other form fields as well.</p>\n<p>This is the validation behavior that we want in our form. Perfect.</p>\n<p>We have a minor issue to fix though. Notice that the size of the error message displayed is very small.</p>\n<p>Include the following highlighted CSS in <del>index.css</del> to fix the size.</p>\n<div class=\"gatsby-code-title\">client/src/index.css</div>\n<pre class=\"grvsc-container grvsc-has-line-highlighting synthwave-84\" data-language=\"css\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"43\"></span><span class=\"grvsc-source\"><span class=\"mtk4 mtki\">/*****************************/</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"44\"></span><span class=\"grvsc-source\"><span class=\"mtk4 mtki\">/******* REGISTER &amp; LOGIN*****/</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"45\"></span><span class=\"grvsc-source\"><span class=\"mtk4 mtki\">/*****************************/</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"46\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"47\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">.login-form-container</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"48\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk8\">margin-top</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">5rem</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"49\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"50\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"51\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">.register-form-container</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"52\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk8\">margin-top</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">5rem</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"53\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"54\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"55\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"56\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">label</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"57\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk8\">font-size</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">1.5rem</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"58\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"59\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"60\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">.register-cta</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"61\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk8\">text-decoration</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk9\">none</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"62\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk8\">font-size</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">1.5rem</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"63\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk8\">font-weight</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">600</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"64\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"65\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"66\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">.register</span><span class=\"mtk11\">:hover</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"67\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk8\">text-decoration</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk9\">none</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"68\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"69\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"70\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">.text-danger</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"71\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk8\">font-size</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">1.2rem</span><span class=\"mtk1\">;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"72\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"73\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"74\"></span><span class=\"grvsc-source\"><span class=\"mtk4 mtki\">/***********************************/</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"75\"></span><span class=\"grvsc-source\"><span class=\"mtk4 mtki\">/*******END OF REGISTER &amp; LOGIN*****/</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"76\"></span><span class=\"grvsc-source\"><span class=\"mtk4 mtki\">/***********************************/</span></span></span></code></pre>\n<p>The error messages are legible now. We are done with form validation and display of error messages.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 623px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/04783c499714bc3439d491baecaf36a8/6007f/registerValidationError3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 73.00000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAIAAABr+ngCAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABEElEQVQoz6WRzUrEMBSFu3frSgd150P4dC4Ex1m4ceOzuFFR5hGk44C6bJO2meanaXJ/pGEYBBdO8HC4kMv9uIebwhjT91prM44jZ6qoqurx6fnldfnx+cXMRJQBE1GIEQA4X4UffF2LtlWISDma4BijUhvrBiJGpD29hf3gm7ZTG51anLeZEBmQADFGDAEB/1wLaWaCg7W+adE6tA60oRAyDmask0oFgDECpDQZsSFG3alOyKYSfvD7nQ23cHDONjL0mq1lxLx/Dt6bvgvjkJ6UYy5aRyvJ75LLGktBO68EreVUy19+q0n7BN8t6eCSThc0m/POR9d8fssX93y24OMf/dmcT2748Iof1ik2/0PfSgBcv9HmQt8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Registration form validation error message\"\n        title=\"Registration form validation error message\"\n        src=\"/static/04783c499714bc3439d491baecaf36a8/6007f/registerValidationError3.png\"\n        srcset=\"/static/04783c499714bc3439d491baecaf36a8/56d15/registerValidationError3.png 200w,\n/static/04783c499714bc3439d491baecaf36a8/d9f49/registerValidationError3.png 400w,\n/static/04783c499714bc3439d491baecaf36a8/6007f/registerValidationError3.png 623w\"\n        sizes=\"(max-width: 623px) 100vw, 623px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<h3 id=\"reducing-the-boilerplate-using-getfieldprops\" style=\"position:relative;\"><a href=\"#reducing-the-boilerplate-using-getfieldprops\" aria-label=\"reducing the boilerplate using getfieldprops permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" 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>Reducing the boilerplate using getFieldprops()</h3>\n<p>The code we have written for the registration form is very explicit about what Formik is doing. We are repeating the <del>onChange</del>, <del>onBlur</del> and <del>value</del> attributes for each form input. However, to save time, <del>useFormik</del> returns a helper method called <del>formik.getFieldProps()</del> to make it faster to wire up inputs. Given some field-level info, it returns to you the exact group of <del>onChange</del>, <del>onBlur</del> and <del>value</del> for a given field. You can then spread that on an input.</p>\n<p>So, using <del>getFieldProps()</del>, we will refactor the code for the registration form as follows:</p>\n<div class=\"gatsby-code-title\">client/src/components/RegisterForm.js</div>\n<pre class=\"grvsc-container grvsc-has-line-highlighting synthwave-84\" data-language=\"jsx\" data-index=\"6\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk3\">React</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;react&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> { </span><span class=\"mtk3\">useFormik</span><span class=\"mtk1\"> } </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;formik&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk5\">*</span><span class=\"mtk1\"> </span><span class=\"mtk10\">as</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;yup&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk6\">RegisterForm</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> () </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"6\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk6\">useFormik</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"7\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">initialValues</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"8\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">firstName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"9\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">lastName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"10\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"11\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"12\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"13\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">validationSchema</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">object</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"14\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">firstName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"15\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">max</span><span class=\"mtk1\">(</span><span class=\"mtk7\">20</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 20 characters or less&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"16\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your first name&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"17\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">lastName</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"18\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">max</span><span class=\"mtk1\">(</span><span class=\"mtk7\">20</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 20 characters or less&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"19\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your last name&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"20\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"21\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">email</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Invalid email address&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"22\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your email address&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"23\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"24\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">min</span><span class=\"mtk1\">(</span><span class=\"mtk7\">5</span><span class=\"mtk1\">, </span><span class=\"mtk16\">&quot;Must be 5 characters or more&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"25\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your password&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"26\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    }),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"27\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"28\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">onSubmit</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3 mtki\">values</span><span class=\"mtk1\"> </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"29\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">values</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"30\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"31\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  })</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"32\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"33\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">return</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"34\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;register-form-container&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"35\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"36\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">h1</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;font-weight-bold&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Register</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">h1</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"37\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"38\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"39\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">form</span><span class=\"mtk1\"> </span><span class=\"mtk10\">onSubmit</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleSubmit</span><span class=\"mtk10\">}</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"40\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto mt-5&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"41\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">First Name</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"42\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"43\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"44\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"45\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;firstName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"46\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;text&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"47\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">{...</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk6\">getFieldProps</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;firstName&quot;</span><span class=\"mtk1\">)</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"48\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"49\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"50\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"51\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">firstName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"52\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"53\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"54\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"55\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"56\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Last Name</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"57\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"58\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"59\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"60\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;lastName&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"61\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;text&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"62\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">{...</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk6\">getFieldProps</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;lastName&quot;</span><span class=\"mtk1\">)</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"63\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"64\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"65\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"66\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">lastName</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"67\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"68\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"69\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"70\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"71\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Email</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"72\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"73\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"74\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"75\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"76\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"77\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">{...</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk6\">getFieldProps</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;email&quot;</span><span class=\"mtk1\">)</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"78\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"79\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"80\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"81\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"82\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"83\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"84\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"85\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"86\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Password</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"87\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"88\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"89\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"90\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"91\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line grvsc-line-highlighted\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"92\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">{...</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk6\">getFieldProps</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;password&quot;</span><span class=\"mtk1\">)</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"93\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"94\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"95\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"96\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"97\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"98\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"99\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"100\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"101\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">button</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"102\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;submit&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"103\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;btn btn-lg btn-primary btn-block register-button&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"104\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"105\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            Register</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"106\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">button</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"107\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"108\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">form</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"109\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"110\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  )</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"111\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"112\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"113\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">export</span><span class=\"mtk1\"> </span><span class=\"mtk10\">default</span><span class=\"mtk1\"> </span><span class=\"mtk3\">RegisterForm</span></span></span></code></pre>\n<p>We need to work on our login form now and turn it into a form powered by Formik.</p>\n<p>We will follow the exact same steps that we followed in creating the registration form. There is no point in repeating the steps again. So I will give the code for the final login form:</p>\n<div class=\"gatsby-code-title\">client/src/components/LoginForm.js</div>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"jsx\" data-index=\"7\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk3\">React</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;react&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> { </span><span class=\"mtk3\">Link</span><span class=\"mtk1\"> } </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;react-router-dom&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> { </span><span class=\"mtk3\">useFormik</span><span class=\"mtk1\"> } </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;formik&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">import</span><span class=\"mtk1\"> </span><span class=\"mtk5\">*</span><span class=\"mtk1\"> </span><span class=\"mtk10\">as</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\"> </span><span class=\"mtk10\">from</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;yup&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"6\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk6\">LoginForm</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> () </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"7\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">const</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk6\">useFormik</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"8\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">initialValues</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"9\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"10\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"11\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"12\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk3\">validationSchema</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">object</span><span class=\"mtk1\">({</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"13\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">email</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"14\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">email</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Invalid email address&quot;</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"15\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        .</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your email address&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"16\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk3\">password</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk3\">Yup</span><span class=\"mtk1\">.</span><span class=\"mtk6\">string</span><span class=\"mtk1\">().</span><span class=\"mtk6\">required</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;Please enter your password&quot;</span><span class=\"mtk1\">),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"17\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    }),</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"18\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">onSubmit</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk10\">async</span><span class=\"mtk1\"> </span><span class=\"mtk3 mtki\">values</span><span class=\"mtk1\"> </span><span class=\"mtk10\">=&gt;</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"19\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">values</span><span class=\"mtk1\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"20\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    },</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"21\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  })</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"22\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"23\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk10\">return</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"24\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;login-form-container&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"25\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"26\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">h1</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;font-weight-bold&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Login</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">h1</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"27\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"28\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">form</span><span class=\"mtk1\"> </span><span class=\"mtk10\">onSubmit</span><span class=\"mtk12\">=</span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk7\">handleSubmit</span><span class=\"mtk10\">}</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"29\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto mt-5&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"30\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Email Address</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"31\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"32\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"33\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"34\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"35\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;email&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"36\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">{...</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk6\">getFieldProps</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;email&quot;</span><span class=\"mtk1\">)</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"37\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"38\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"39\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"40\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">email</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"41\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"42\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"43\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"44\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-group col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"45\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">label</span><span class=\"mtk1\"> </span><span class=\"mtk10\">htmlFor</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span><span class=\"mtk6\">&gt;</span><span class=\"mtk1\">Password</span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">label</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"46\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">input</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"47\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-control form-control-lg&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"48\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">id</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"49\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">name</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"50\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"51\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk10\">{...</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk6\">getFieldProps</span><span class=\"mtk1\">(</span><span class=\"mtk16\">&quot;password&quot;</span><span class=\"mtk1\">)</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"52\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">/&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"53\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">touched</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk1\"> </span><span class=\"mtk10\">&amp;&amp;</span><span class=\"mtk1\"> </span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk1\"> </span><span class=\"mtk10\">?</span><span class=\"mtk1\"> (</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"54\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">small</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;form-text text-danger&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"55\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              </span><span class=\"mtk10\">{</span><span class=\"mtk3\">formik</span><span class=\"mtk1\">.</span><span class=\"mtk3\">errors</span><span class=\"mtk1\">.</span><span class=\"mtk7\">password</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"56\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">small</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"57\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          ) </span><span class=\"mtk10\">:</span><span class=\"mtk1\"> </span><span class=\"mtk5\">null</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"58\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"59\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"60\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"61\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">button</span><span class=\"mtk1\"> </span><span class=\"mtk10\">type</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;submit&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;btn btn-lg btn-primary btn-block&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"62\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            Login</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"63\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">button</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"64\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"65\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">div</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;col-10 col-sm-8 col-md-5 mx-auto mt-3&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"66\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">p</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"67\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk9\">Link</span><span class=\"mtk1\"> </span><span class=\"mtk10\">to</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;/account/forgot&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;password-forgot&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"68\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              I forgot my password</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"69\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk9\">Link</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"70\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">p</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"71\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;</span><span class=\"mtk8\">p</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;register-cta&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"72\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            Don&#39;t have an account?</span><span class=\"mtk10\">{</span><span class=\"mtk16\">&quot; &quot;</span><span class=\"mtk10\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"73\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;</span><span class=\"mtk9\">Link</span><span class=\"mtk1\"> </span><span class=\"mtk10\">className</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;register&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk10\">to</span><span class=\"mtk12\">=</span><span class=\"mtk16\">&quot;/register&quot;</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"74\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">              Register</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"75\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">            </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk9\">Link</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"76\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">          </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">p</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"77\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">        </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"78\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">      </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">form</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"79\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">    </span><span class=\"mtk6\">&lt;/</span><span class=\"mtk8\">div</span><span class=\"mtk6\">&gt;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"80\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  )</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"81\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"82\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"83\"></span><span class=\"grvsc-source\"><span class=\"mtk8\">export</span><span class=\"mtk1\"> </span><span class=\"mtk10\">default</span><span class=\"mtk1\"> </span><span class=\"mtk3\">LoginForm</span></span></span></code></pre>\n<p>With this, we have taken care of the client-side validation and display of validation error messages for both the registartion and the login form.</p>\n<p>Go to <a href=\"https://hemanta.io/implement-jwt-based-user-authentication-in-a-mern-stack-app-part-6/\">part-6</a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    position: relative;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n    line-height: 1.4;\n  }\n  \n  .grvsc-code {\n    display: table;\n  }\n  \n  .grvsc-line {\n    display: table-row;\n    box-sizing: border-box;\n    width: 100%;\n    position: relative;\n  }\n  \n  .grvsc-line > * {\n    position: relative;\n  }\n  \n  .grvsc-gutter-pad {\n    display: table-cell;\n    padding-left: 0.75rem;\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\n  }\n  \n  .grvsc-gutter {\n    display: table-cell;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    user-select: none;\n  }\n  \n  .grvsc-gutter::before {\n    content: attr(data-content);\n  }\n  \n  .grvsc-source {\n    display: table-cell;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-source:empty::after {\n    content: ' ';\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    user-select: none;\n  }\n  \n  .grvsc-gutter + .grvsc-source {\n    padding-left: 0.75rem;\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\n  }\n  \n  /* Line transformer styles */\n  \n  .grvsc-has-line-highlighting > .grvsc-code > .grvsc-line::before {\n    content: ' ';\n    position: absolute;\n    width: 100%;\n  }\n  \n  .grvsc-line-diff-add::before {\n    background-color: var(--grvsc-line-diff-add-background-color, rgba(0, 255, 60, 0.2));\n  }\n  \n  .grvsc-line-diff-del::before {\n    background-color: var(--grvsc-line-diff-del-background-color, rgba(255, 0, 20, 0.2));\n  }\n  \n  .grvsc-line-number {\n    padding: 0 2px;\n    text-align: right;\n    opacity: 0.7;\n  }\n  \n  .synthwave-84 { background-color: #262335; }\n  .synthwave-84 .mtki { font-style: italic; }\n  .synthwave-84 .mtk1 { color: #FFFFFF; }\n  .synthwave-84 .mtk6 { color: #36F9F6; }\n  .synthwave-84 .mtk10 { color: #FEDE5D; }\n  .synthwave-84 .mtk8 { color: #72F1B8; }\n  .synthwave-84 .mtk3 { color: #FF7EDB; }\n  .synthwave-84 .mtk16 { color: #FF8B39; }\n  .synthwave-84 .mtk12 { color: #FFFFFFEE; }\n  .synthwave-84 .mtk14 { color: #B6B1B1; }\n  .synthwave-84 .mtk9 { color: #FE4450; }\n  .synthwave-84 .mtk7 { color: #2EE2FA; }\n  .synthwave-84 .mtk5 { color: #F97E72; }\n  .synthwave-84 .mtk4 { color: #848BBD; }\n  .synthwave-84 .mtk11 { color: #D50; }\n  .synthwave-84 .grvsc-line-highlighted::before {\n    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));\n  }\n</style>","frontmatter":{"title":"Implement JWT Based User Authentication in a MERN Stack App - Part 5","date":"2021-05-22"}}},"pageContext":{"slug":"/implement-jwt-based-user-authentication-in-a-mern-stack-app-part-5/","prev":{"fields":{"slug":"/implement-jwt-based-user-authentication-in-a-mern-stack-app-part-4/"},"frontmatter":{"modules":null}},"next":{"fields":{"slug":"/a-beginners-guide-to-prototypes-and-prototypal-inheritance-in-javascript/"},"frontmatter":{"modules":null}}}},
    "staticQueryHashes": ["3159585216"]}