{"id":25469,"date":"2021-06-07T09:23:00","date_gmt":"2021-06-07T06:23:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25469"},"modified":"2021-10-17T20:25:04","modified_gmt":"2021-10-17T17:25:04","slug":"html-muodon-vahvistus-persiljaa-kayttaen","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/html-muodon-vahvistus-persiljaa-kayttaen\/","title":{"rendered":"HTML-muodon vahvistus persiljaa k\u00e4ytt\u00e4en"},"content":{"rendered":"<p>Etsitk\u00f6 validointien soveltamista HTML-lomakkeellesi? Asiakaspuolen tarkistukset auttavat varmistamaan, ett\u00e4 kaikki lomakekent\u00e4t on t\u00e4ytetty ja oikeassa muodossa. Se auttaa k\u00e4ytt\u00e4ji\u00e4 korjaamaan virheelliset tiedot v\u00e4litt\u00f6m\u00e4sti. Verkkosivustolomakkeissasi on aina oltava asiakaspuolen tarkistukset. Jos ohitat sen ja k\u00e4yt\u00e4t vain palvelinpuolen tarkistusta, se viiv\u00e4stytt\u00e4\u00e4 lomakkeen l\u00e4hett\u00e4mist\u00e4 virheiden varalta.<\/p>\n<p><a href=\"https:\/\/parsleyjs.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Persilja<\/a> on hy\u00f6dyllinen lomakkeiden validointikirjasto, joka on helppo integroida. T\u00e4m\u00e4 kirjasto tarjoaa paremman k\u00e4ytt\u00f6liittym\u00e4n verrattuna oletusarvoisiin HTML5-vahvistuksiin. Sinun on kirjoitettava vain muutama lausunto ja olet valmis. Persilja tarjoaa runsaasti vaihtoehtoja, joiden avulla voit laajentaa mukautettuja validointeja. En aio k\u00e4sitell\u00e4 kutakin vaihtoehtoa. T\u00e4m\u00e4n opetusohjelman tarkoituksena on tutustuttaa persiljaan ja n\u00e4ytt\u00e4\u00e4, miten perusvahvistuksia k\u00e4ytet\u00e4\u00e4n. He voivat tutustua heid\u00e4n dokumentointiinsa ja tutustua kaikkiin kirjaston tarjoamiin ominaisuuksiin.<\/p>\n<p>T\u00e4t\u00e4 opetusohjelmaa varten aion luoda yksinkertaisen lomakkeen, jossa on muutama kentt\u00e4, kuten nimi, s\u00e4hk\u00f6postiosoite, sukupuoli jne. Kaikki lomakekent\u00e4t ovat pakollisia, ja k\u00e4yt\u00e4mme vahvistuksia k\u00e4ytt\u00e4m\u00e4ll\u00e4 Persiljaa lomakkeellamme.<\/p>\n<p>Lomakkeen vahvistamiseksi persiljaa k\u00e4ytt\u00e4m\u00e4ll\u00e4 meid\u00e4n on sis\u00e4llytett\u00e4v\u00e4 sen JS-tiedosto. Teen sen CDN: ll\u00e4.<\/p>\n<p>Persilja suosittelee k\u00e4ytt\u00e4m\u00e4\u00e4n virheviesteiss\u00e4 omaa muotoilua. Mutta testaustarkoituksiin voit k\u00e4ytt\u00e4\u00e4 CSS-tiedostoa, joka on saatavilla <a href=\"https:\/\/parsleyjs.org\/src\/parsley.css\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4ll\u00e4 linkill\u00e4<\/a>.<\/p>\n<h3>Kuinka k\u00e4ytt\u00e4\u00e4 persiljaa<\/h3>\n<p>Demotarkoitusta varten aion luoda lomakkeen Bootstrapilla. Joten sis\u00e4llyt\u00e4n Bootstrapin k\u00e4ytt\u00e4m\u00e4ll\u00e4 CDN: \u00e4\u00e4 yhdess\u00e4 persiljatiedostojen kanssa. Otan mukaan my\u00f6s jQueryn, koska persilja riippuu siit\u00e4.<\/p>\n<pre><code>&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/twitter-bootstrap\/4.5.3\/css\/bootstrap.min.css\" \/&gt;\n&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"http:\/\/parsleyjs.org\/src\/parsley.css\" \/&gt;\n&lt;div class=\"container\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;form class=\"form-horizontal\" id=\"signup_form\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"inputFirstName\" class=\"col-sm-2 control-label\"&gt;First Name&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-sm-4\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" class=\"form-control\" id=\"inputFirstName\" name=\"first_name\" placeholder=\"First Name\" required&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"inputLastName\" class=\"col-sm-2 control-label\"&gt;Last Name&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-sm-4\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" class=\"form-control\" id=\"inputLastName\" name=\"last_name\" placeholder=\"Last Name\" required&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"inputEmail3\" class=\"col-sm-2 control-label\"&gt;Email&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-sm-4\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"email\" class=\"form-control\" id=\"inputEmail3\" name=\"email\" placeholder=\"Email\" required&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label class=\"col-sm-2 control-label\"&gt;Gender&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-sm-4\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"gender\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"radio\" name=\"gender\" value=\"male\" required&gt; Male\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"radio\" name=\"gender\" value=\"female\" required&gt; Female\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label class=\"col-sm-2 control-label\"&gt;Skills&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-sm-4\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"skills\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"checkbox\" name=\"skills[]\" value=\"php\" required&gt; PHP\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"checkbox\" name=\"skills[]\" value=\"mysql\" required&gt; MySQL\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-sm-offset-2 col-sm-10\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;button type=\"submit\" class=\"btn btn-primary\"&gt;Sign in&lt;\/button&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/form&gt;\n&lt;\/div&gt;\n\u00a0\n&lt;script type=\"text\/javascript\" src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jquery\/3.5.1\/jquery.min.js\"&gt;&lt;\/script&gt;\n&lt;script type=\"text\/javascript\" src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/twitter-bootstrap\/4.5.3\/js\/bootstrap.min.js\"&gt;&lt;\/script&gt;\n&lt;script type=\"text\/javascript\" src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/parsley.js\/2.9.2\/parsley.min.js\"&gt;&lt;\/script&gt;\n&lt;script type=\"text\/javascript\"&gt;\n\u00a0\u00a0\u00a0\u00a0jQuery('#signup_form').parsley();\n&lt;\/script&gt;<\/code><\/pre>\n<p>Yll\u00e4 olevaan koodiin olen sis\u00e4llytt\u00e4nyt kaikki vaaditut JS- ja CSS-tiedostot CDN: \u00e4\u00e4 k\u00e4ytt\u00e4en. Lopuksi k\u00e4ytin <code>$('#signup_form').parsley();<\/code>miss\u00e4 #signup_form on lomaketunnus. Nyt kun napsautat L\u00e4het\u00e4-painiketta suoraan, se n\u00e4ytt\u00e4\u00e4 virheet alla olevan kuvakaappauksen mukaisesti.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20309-6081dc1dbb937.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20309-6081dc1dbb937.png\" alt=\"HTML-muodon vahvistus persiljaa k\u00e4ytt\u00e4en\" ><\/a><\/p>\n<p>Kun kaikki virheet on korjattu, Parsley antaa sinun l\u00e4hett\u00e4\u00e4 lomakkeen, jonka otat palvelinpuolen k\u00e4sittely\u00e4 varten.<\/p>\n<p>Toivottavasti ymm\u00e4rr\u00e4t HTML-lomakkeen validoinnin k\u00e4ytt\u00e4m\u00e4ll\u00e4 persiljaa. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.<\/p>\n<h3>Aiheeseen liittyv\u00e4t artikkelit<\/h3>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/ota-staattinen-verkkosivusto-firebase-hosting-palveluun-ilmaiseksi\/\" title=\"Ota staattinen verkkosivusto Firebase Hosting -palveluun ilmaiseksi\">Ota staattinen verkkosivusto Firebase Hosting -palveluun ilmaiseksi<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/hanki-youtube-videoluettelo-avainsanojen-avulla-youtube-hakusovellusliittyman-ja-javascriptin-avulla\/\" title=\"Hanki YouTube-videoluettelo avainsanojen avulla YouTube-hakusovellusliittym\u00e4n ja JavaScriptin avulla\">Hanki YouTube-videoluettelo avainsanojen avulla YouTube-hakusovellusliittym\u00e4n ja JavaScriptin avulla<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-yhdistaa-firebase-realtime-tietokanta-verkkosivustolomakkeeseen\/\" title=\"Kuinka yhdist\u00e4\u00e4 Firebase Realtime -tietokanta verkkosivustolomakkeeseen\">Kuinka yhdist\u00e4\u00e4 Firebase Realtime -tietokanta verkkosivustolomakkeeseen<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ParsleyJS on avoimen l\u00e4hdekoodin JavaScript-lomakkeen validointikirjasto. T\u00e4ss\u00e4 artikkelissa tutkitaan, miten persiljaa k\u00e4ytet\u00e4\u00e4n HTML-lomakkeen validointiin.<\/p>\n","protected":false},"author":1,"featured_media":21644,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[247],"tags":[843],"class_list":["post-25469","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=25469"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25469\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21644"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=25469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=25469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=25469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}