diff --git a/forms/PasswordField.php b/forms/PasswordField.php index 156deb8be..21ac2e212 100644 --- a/forms/PasswordField.php +++ b/forms/PasswordField.php @@ -6,6 +6,14 @@ */ class PasswordField extends TextField { + /** + * Controls the autocomplete attribute on the field. + * + * Setting it to false will set the attribute to "off", which will hint the browser + * to not cache the password and to not use any password managers. + */ + private static $autocomplete; + /** * Returns an input field, class="text" and type="text" with an optional * maxlength @@ -21,10 +29,17 @@ class PasswordField extends TextField { public function getAttributes() { - return array_merge( + $attributes = array_merge( parent::getAttributes(), array('type' => 'password') ); + + $autocomplete = Config::inst()->get('PasswordField', 'autocomplete'); + if (isset($autocomplete)) { + $attributes['autocomplete'] = $autocomplete ? 'on' : 'off'; + } + + return $attributes; } /**