Validating the MailChimp Subscribe Form<\/a><\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"Most JavaScript form validation libraries are large, and often require other libraries like jQuery. For example, MailChimp’s embeddable form includes a 140kb validation file (minified). It includes the entire jQuery library, a third-party form validation plugin, and some custom MailChimp code. In fact, that setup is what inspired this new series about modern form validation. […]<\/p>\n","protected":false},"author":249049,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[4],"tags":[1173,595,932],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":256250,"url":"https:\/\/css-tricks.com\/use-third-party-form-validation-library\/","url_meta":{"origin":256018,"position":0},"title":"Why Use a Third-Party Form Validation Library?","date":"July 3, 2017","format":false,"excerpt":"We've just wrapped up a great series of posts from Chris Ferdinandi on modern form validation. It starts here. These days, browsers have quite a few built-in tools for handling form validation including HTML attributes that can do quite a bit on their own, and a JavaScript API that can\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":336775,"url":"https:\/\/css-tricks.com\/creating-custom-form-controls-with-elementinternals\/","url_meta":{"origin":256018,"position":1},"title":"Creating Custom Form Controls with ElementInternals","date":"March 24, 2021","format":false,"excerpt":"Ever since the dawn of time, humanity has dreamed of having more control over form elements. OK, I might be overselling it a tiny bit, but creating or customizing form components has been a holy grail of front-end web development for years. One of the lesser-heralded, but most powerful features\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/03\/custom-element-form.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":337536,"url":"https:\/\/css-tricks.com\/headless-form-submission-with-the-wordpress-rest-api\/","url_meta":{"origin":256018,"position":2},"title":"Headless Form Submission With the WordPress REST API","date":"April 9, 2021","format":false,"excerpt":"If you\u2019re building a WordPress site, you need a good reason not to choose a WordPress form plugin. They are convenient and offer plenty of customizations that would take a ton of effort to build from scratch. They render the HTML, validate the data, store the submissions, and provide integration\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/03\/wordpress-form.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":306672,"url":"https:\/\/css-tricks.com\/using-formik-to-handle-forms-in-react\/","url_meta":{"origin":256018,"position":3},"title":"Using Formik to Handle Forms in React","date":"April 28, 2020","format":false,"excerpt":"There is no doubt that web forms play an integral role in our web site or applications. By default, they provide a useful set of elements and features \u2014 from legends and fieldsets to native validation and states \u2014 but they only get us so far when we start to\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/04\/formik-react.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":326533,"url":"https:\/\/css-tricks.com\/happier-html5-form-validation-in-vue\/","url_meta":{"origin":256018,"position":4},"title":"Happier HTML5 form validation in Vue","date":"December 3, 2020","format":false,"excerpt":"It's kind of neat that we can do input:invalid {} in CSS to style an input when it's in an invalid state. Yet, used exactly like that, the UX is pretty bad. Say you have . That's immediately invalid before the user has done anything. That's such a\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2017\/08\/forms-guide.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":248984,"url":"https:\/\/css-tricks.com\/webkit-now-html-interactive-form-validation\/","url_meta":{"origin":256018,"position":5},"title":"[WebKit now has] HTML Interactive Form Validation","date":"December 14, 2016","format":false,"excerpt":"Chris Dumez: WebKit did not support HTML interactive form validation, which occurs on form submission (unless the novalidate attribute is set on the element) or using the reportValidity() API. We are pleased to announce that this is now implemented in WebKit and enabled in Safari Technology Preview 19. Upon interactive\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"featured_media_src_url":null,"_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/256018"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/249049"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=256018"}],"version-history":[{"count":17,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/256018\/revisions"}],"predecessor-version":[{"id":256262,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/256018\/revisions\/256262"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=256018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=256018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=256018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}