{"id":22257,"date":"2018-07-25T16:29:22","date_gmt":"2018-07-25T20:29:22","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=22257"},"modified":"2020-07-08T16:34:30","modified_gmt":"2020-07-08T20:34:30","slug":"password-rules-uitextinputpasswordrules","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2018\/07\/25\/password-rules-uitextinputpasswordrules\/","title":{"rendered":"Password Rules \/ UITextInputPasswordRules"},"content":{"rendered":"<p><a href=\"https:\/\/nshipster.com\/uitextinputpasswordrules\/\">Mattt Thompson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/nshipster.com\/uitextinputpasswordrules\/\"><p>WebKit engineer Daniel Bates submitted <a href=\"https:\/\/github.com\/whatwg\/html\/issues\/3518\">this proposal<\/a> for consideration to the <acronym title=\"Web Hypertext Application Technology Working Group\">WHATWG<\/acronym> on March 1st. On June 6th, the WebKit team <a href=\"https:\/\/webkit.org\/blog\/8327\/safari-technology-preview-58-with-safari-12-features-is-now-available\/\">announced Safari Technology Preview Release 58<\/a>, with support for strong password generation using the new <code>passwordrules<\/code> attribute. This announcement coincided with the release iOS 12 beta SDKs at WWDC, which included a new <code>UITextInputPasswordRules<\/code> API, along with a number of other password management features, including Security Code AutoFill and federated authentication.<\/p><p>[&#8230;]<\/p><p>Apple&rsquo;s <a href=\"https:\/\/developer.apple.com\/password-rules\/\">Password Rules Validation Tool<\/a> allows you to experiment with different rules and get real-time feedback of their results. You can even generate and download passwords by the thousands to use during development and testing!<\/p><p>[&#8230;]<\/p><p>On iOS, you set the <code>passwordRules<\/code> property of a <code>UITextField<\/code> with a <code>UITextInputPasswordRules<\/code> object (you should also set the <code>textContentType<\/code> to <code>.newPassword<\/code> while you&rsquo;re at it)[&#8230;]<\/p><\/blockquote>\n\n<p>Previously: <a href=\"https:\/\/mjtsai.com\/blog\/2018\/02\/06\/minimum-password-lengths\/\">Minimum Password Lengths<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Mattt Thompson: WebKit engineer Daniel Bates submitted this proposal for consideration to the WHATWG on March 1st. On June 6th, the WebKit team announced Safari Technology Preview Release 58, with support for strong password generation using the new passwordrules attribute. This announcement coincided with the release iOS 12 beta SDKs at WWDC, which included a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2018-07-25T20:29:50Z","apple_news_api_id":"d325e592-62d8-4d27-9a87-8c1738252197","apple_news_api_modified_at":"2020-07-08T20:34:33Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/A0yXlkmLYTSeah4wXOCUhlw","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[339,31,1610,30,1609,386,981,103,328],"class_list":["post-22257","post","type-post","status-publish","format-standard","hentry","category-technology","tag-html","tag-ios","tag-ios-12","tag-mac","tag-macos-10-14","tag-mobilesafari","tag-passwords","tag-safari","tag-webkit"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/22257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=22257"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/22257\/revisions"}],"predecessor-version":[{"id":22258,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/22257\/revisions\/22258"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=22257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=22257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=22257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}