apedik / module-password-attributes
N/A
1.0.0
2023-09-08 21:47 UTC
Requires
- magento/framework: *
- magento/module-customer: 103.0.*
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 个字符
建议的密码将满足要求。
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)