apedik/module-password-attributes

N/A

安装: 1

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 0

开放问题: 0

语言:HTML

类型:magento2-module

1.0.0 2023-09-08 21:47 UTC

This package is auto-updated.

Last update: 2024-09-10 23:01:44 UTC


README

此 Magento 模块向 <input type"password"> 元素添加密码属性,例如

<input type"password" minlength="8" pattern="[0-9A-Z]" autocomplete="new-password" >

这对密码管理器和浏览器根据 Magento 密码选项中的密码要求建议正确的密码非常有用,并且有望提高转化率。

参考: https://mdn.org.cn/en-US/docs/Web/HTML/Element/input/password

Apple 密码规则: https://developer.apple.com/password-rules/

配置

Magento 部分customer/password

配置路径到客户密码所需的字符类别数量和最小密码长度:这些都是默认的 Magento 配置。模块将根据这些配置生成属性、模式和规则。

配置路径到启用密码属性:如果设置为“是”,则密码属性将添加到 input type="password" 元素。

配置路径到添加正则表达式密码属性模式:如果设置为“是”,则密码属性模式将添加到 input type="password" 元素。

配置路径到添加密码规则:如果设置为“是”,则密码规则将添加到 input type="password" 元素。

当设置被禁用时

<input type="password" name="password" id="password" title="Password" class="input-text" data-password-min-length="8" data-password-min-character-sets="2" aria-required="true">

当设置被启用时

<input type="password" name="password" id="password" title="Password" class="input-text" data-password-min-length="8" data-password-min-character-sets="2"
 minlength="8" autocomplete="new-password" required="" pattern="^(?=.*[A-Z])(?=.*\d).{8,}$" passwordrules="minlength: 8; required: digit; required: upper" aria-required="true">

测试最小长度 40 个字符

image host

建议的密码将满足要求。

MFTF 支持,用于测试不同的密码场景。

 vendor/bin/mftf run:test StorefrontCreateCustomer4CharsClassesTest

Generate Tests Command Run

Codeception PHP Testing Framework v5.0.11 https://helpukrainewin.org

Magento\FunctionalTestingFramework.functional Tests (1) ------------------------
Modules: \Magento\FunctionalTestingFramework\Module\MagentoWebDriver, \Magento\FunctionalTestingFramework\Module\MagentoSequence, \Magento\FunctionalTestingFramework\Module\MagentoAssert, \Magento\FunctionalTestingFramework\Module\MagentoActionProxies, Asserts, \Magento\FunctionalTestingFramework\Helper\HelperContainer
--------------------------------------------------------------------------------
StorefrontCreateCustomer4CharsClassesTestCest: Storefront create customer4 chars classes test
Signature: Magento\AcceptanceTest\_default\Backend\StorefrontCreateCustomer4CharsClassesTestCest:StorefrontCreateCustomer4CharsClassesTest
Test: tests/functional/Magento/_generated/default/StorefrontCreateCustomer4CharsClassesTestCest.php:StorefrontCreateCustomer4CharsClassesTest
Scenario --
[START BEFORE HOOK]
[minDigitUpperLowercaseSpecialCharPassword] magento cli "config:set customer/password/required_character_classes_number 4",60
Value was saved.
[END BEFORE HOOK]
[openCreateAccountPage] StorefrontOpenCustomerAccountCreatePageActionGroup
  [goToCustomerAccountCreatePage] am on page "/customer/account/create/"
  [waitForPageLoaded] wait for page load 60
[fillCreateAccountForm] StorefrontFillCustomerAccountCreationFormActionGroup
  [fillFirstName] fill field "#firstname","John"
  [fillLastName] fill field "#lastname","Doe"
  [fillEmail] fill field "#email_address","64fe2906a6b99John.Doe@example.com"
  [fillPassword] fill field "#password","Asdfghj1!"
  [fillConfirmPassword] fill field "#password-confirmation","Asdfghj1!"
[submitCreateAccountForm] StorefrontClickCreateAnAccountCustomerAccountCreationFormActionGroup
  [waitForCreateAccountButtonIsActive] wait for page load 60
  [clickCreateAccountButton] click "button.action.submit.primary"
  [clickCreateAccountButtonWaitForPageLoad] wait for page load 30
  [waitForCustomerSaved] wait for page load 60
[seeSuccessMessage] AssertMessageCustomerCreateAccountActionGroup
  [verifyMessage] see "Thank you for registering with Main Website Store.","#maincontent .message-success"
 PASSED 

--------------------------------------------------------------------------------
Time: 00:09.844, Memory: 16.00 MB

OK (1 test, 1 assertion)