{"id":987517383,"date":"2025-02-03T19:10:32","date_gmt":"2025-02-03T19:10:32","guid":{"rendered":"https:\/\/workspace.trace.pt\/developers-can-now-add-form-field-validation-to-google-workspace-add-ons-and-google-chat-app-cards\/"},"modified":"2025-02-03T19:10:32","modified_gmt":"2025-02-03T19:10:32","slug":"developers-can-now-add-form-field-validation-to-google-workspace-add-ons-and-google-chat-app-cards","status":"publish","type":"post","link":"https:\/\/workspace.trace.pt\/de\/developers-can-now-add-form-field-validation-to-google-workspace-add-ons-and-google-chat-app-cards\/","title":{"rendered":"Developers can now add form field validation to Google Workspace add-ons and Google Chat app cards"},"content":{"rendered":"<h3>Was sich \u00e4ndert<\/h3>\n<div>Starting today, Workspace add-ons and Chat app developers can add client-side input validation to Chat apps and add-ons.\u00a0<\/div>\n<div><\/div>\n<div>Specifically, the <a href=\"https:\/\/developers.google.com\/workspace\/chat\/design-components-card-dialog\">card UI<\/a> now supports required form field validation on the date-time picker, the multi select menu, the drop down menu and text input widgets via the Action API for <a href=\"https:\/\/developers.google.com\/workspace\/add-ons\/reference\/rpc\/google.apps.card.v1#action\">add-ons<\/a> und <a href=\"https:\/\/developers.google.com\/workspace\/chat\/api\/reference\/rest\/v1\/cards#action\">Chat apps.<\/a> Additionally, text inputs now support input type and format validation with input length limits via the Validation API for <a href=\"https:\/\/developers.google.com\/workspace\/add-ons\/reference\/rpc\/google.apps.card.v1#validation\">add-ons<\/a> und <a href=\"https:\/\/developers.google.com\/workspace\/chat\/api\/reference\/rest\/v1\/cards#validation\">Chat apps<\/a>.\u00a0<\/div>\n<div><\/div>\n<div>As a result, developers can ensure data accuracy and improve their app&#8217;s user experience by catching errors before information is submitted.\u00a0<\/div>\n<div><\/div>\n<div class=\"separator\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgAg-XAyQ0q8nX-5wh28vlKIz77RqJa7TVtuSU-g7yAkxvMpbiKFgXmHtBdyB5YODprre24CV5-a3S30o1i7v7ibXI8h5eWBzWw2fzo1HY5ynaD51VmCnBxqAw4alz34h0Y9XNSY9KzbF4SJkfMv-ZqMcgerdBzOgJHfRZOLCz5pqeIPkzeW3RpqPFYG2Y\/s1128\/Example%20of%20the%20form%20validating%20if%20the%20user%20has%20populated%20all%20the%20required%20fields%20before%20submitting%20a%20form.png\"><img decoding=\"async\" alt=\"Example of the form validating if the user has populated all the required fields before submitting a form.\" border=\"0\" data-original-height=\"1128\" data-original-width=\"1128\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgAg-XAyQ0q8nX-5wh28vlKIz77RqJa7TVtuSU-g7yAkxvMpbiKFgXmHtBdyB5YODprre24CV5-a3S30o1i7v7ibXI8h5eWBzWw2fzo1HY5ynaD51VmCnBxqAw4alz34h0Y9XNSY9KzbF4SJkfMv-ZqMcgerdBzOgJHfRZOLCz5pqeIPkzeW3RpqPFYG2Y\/s16000\/Example%20of%20the%20form%20validating%20if%20the%20user%20has%20populated%20all%20the%20required%20fields%20before%20submitting%20a%20form.png\"><\/a><\/div>\n<p><\/p>\n<div><i><span>Example of the form validating if the user has populated all the required fields before submitting a form.<\/span><\/i><\/div>\n<div><\/div>\n<div class=\"separator\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEj7d8rBc0r_tjOI9NDz5m5x1k1zpIg4R_PUEyvLUBUZUogKaceJmmsJZHTwkhVahZPhc-NW2gk9OZUXz9r4TPL2P0kyyZaurju38JAPbub-SceM4unFxu2MqVXLqLid_5U58Xx7IdQ_vJswEDuyOGL5AOHN2MqgCT4ELhlekgYOzLlNCPVCJGC-M9r8Uok\/s1306\/Example%20of%20the%20form%20validating%20the%20input%20type%20for%20text%20fields.%20The%20supported%20types%20are%20text,%20integers,%20decimals,%20email%20and%20emoji.png\"><img decoding=\"async\" alt=\"Example of the form validating the input type for text fields. The supported types are text, integers, decimals, email and emoji.\" border=\"0\" data-original-height=\"412\" data-original-width=\"1306\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEj7d8rBc0r_tjOI9NDz5m5x1k1zpIg4R_PUEyvLUBUZUogKaceJmmsJZHTwkhVahZPhc-NW2gk9OZUXz9r4TPL2P0kyyZaurju38JAPbub-SceM4unFxu2MqVXLqLid_5U58Xx7IdQ_vJswEDuyOGL5AOHN2MqgCT4ELhlekgYOzLlNCPVCJGC-M9r8Uok\/s16000\/Example%20of%20the%20form%20validating%20the%20input%20type%20for%20text%20fields.%20The%20supported%20types%20are%20text,%20integers,%20decimals,%20email%20and%20emoji.png\"><\/a><\/div>\n<p><\/p>\n<div><i><span>Example of the form validating the input type for text fields. The supported types are text, integers, decimals, email and emoji.<\/span><\/i><\/div>\n<div class=\"separator\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhCvrxh4XxJWyiC9KHA7YC-FHOfJ2RoeBhQno43axgig8APqEvhQyIEYrcBffN-V6DkVRVio-M_0uw6CPpyaOu4kgpuSqPkmzjPqmtEcI16-AJWAU3VntOujSa25Od4zYxS3G4KPTMECA-RxesRPrlNH_cy9U0r1Hymww3bWDcpmzmrKxJZwDf_Mzlo87s\/s1142\/Example%20of%20the%20form%20limiting%20the%20allowed%20text%20input%20length%20to%20a%20specified%20length.png\"><img decoding=\"async\" alt=\"Example of the form limiting the allowed text input length to a specified length.\" border=\"0\" data-original-height=\"324\" data-original-width=\"1142\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhCvrxh4XxJWyiC9KHA7YC-FHOfJ2RoeBhQno43axgig8APqEvhQyIEYrcBffN-V6DkVRVio-M_0uw6CPpyaOu4kgpuSqPkmzjPqmtEcI16-AJWAU3VntOujSa25Od4zYxS3G4KPTMECA-RxesRPrlNH_cy9U0r1Hymww3bWDcpmzmrKxJZwDf_Mzlo87s\/s16000\/Example%20of%20the%20form%20limiting%20the%20allowed%20text%20input%20length%20to%20a%20specified%20length.png\"><\/a><\/div>\n<p><\/p>\n<div><i><span>Example of the form limiting the allowed text input length to a specified length.<\/span><\/i><\/div>\n<div>\n<div><\/div>\n<div><\/div>\n<h3>Erste Schritte\u00a0<\/h3>\n<div>\n<ul>\n<li><b>Admins: <\/b>There is no admin control for this feature.\u00a0<\/li>\n<li><b>Die Entwickler:<\/b> Visit the Developer Documentation to learn more about <a href=\"https:\/\/developers.google.com\/workspace\/add-ons\/how-tos\/interactions\">building interactive cards for add-ons<\/a> und <a href=\"https:\/\/developers.google.com\/workspace\/chat\/design-components-card-dialog\">building cards for Google Chat apps<\/a>.\u00a0<\/li>\n<\/ul>\n<\/div>\n<h3>Tempo der Einf\u00fchrung<\/h3>\n<div>\n<ul>\n<li><a href=\"https:\/\/support.google.com\/a\/answer\/172177\">Rapid Release und Scheduled Release Domains:<\/a> Jetzt verf\u00fcgbar.\u00a0<\/li>\n<\/ul>\n<\/div>\n<h3>Verf\u00fcgbarkeit<\/h3>\n<div>\n<ul>\n<li>Verf\u00fcgbar f\u00fcr alle Google Workspace-Kunden\u00a0<\/li>\n<\/ul>\n<\/div>\n<h3>Ressourcen\u00a0<\/h3>\n<div>\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/workspace\/add-ons\/how-tos\/interactions\">Developer Documentation: Building interactive cards\u00a0<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/workspace\/chat\/design-components-card-dialog\">Developer Documentation: Build cards for Google Chat apps<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>What\u2019s changing Starting today, Workspace add-ons and Chat app developers can add client-side input validation to Chat apps and add-ons.\u00a0 Specifically, the card UI now supports required form field validation on the date-time picker, the multi select menu, the drop down menu and text input widgets via the Action API for add-ons and Chat apps. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-987517383","post","type-post","status-publish","format-standard","hentry","category-noticias"],"acf":[],"_links":{"self":[{"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/posts\/987517383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/comments?post=987517383"}],"version-history":[{"count":0,"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/posts\/987517383\/revisions"}],"wp:attachment":[{"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/media?parent=987517383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/categories?post=987517383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/workspace.trace.pt\/de\/wp-json\/wp\/v2\/tags?post=987517383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}