如何在CakePHP4中使用validationDefault()

如何在CakePHP4中使用validationDefault(),cakephp,cakephp-4.x,Cakephp,Cakephp 4.x,如何根据此问题更改此代码 用户名只能接受字符和数字(无特殊字符) 密码需要具有以下规则: 我至少1个 二,。至少1个大写字符 iii.至少1个小写字符 iv.至少1个特殊字符 上的文档不包括开箱即用函数的列表,而是引用了。对于用户名,您可能需要将->scalar('username')替换为->字母数字('username') 没有与您想要的密码相匹配的内置验证,因此您必须编写一个。你会看到这里有各种各样的选择;最简单的方法可能是使用闭包。而不是使用标量('password') ->add

如何根据此问题更改此代码

  • 用户名只能接受字符和数字(无特殊字符)

  • 密码需要具有以下规则: 我至少1个 二,。至少1个大写字符 iii.至少1个小写字符 iv.至少1个特殊字符

  • 上的文档不包括开箱即用函数的列表,而是引用了。对于用户名,您可能需要将
    ->scalar('username')
    替换为
    ->字母数字('username')

    没有与您想要的密码相匹配的内置验证,因此您必须编写一个。你会看到这里有各种各样的选择;最简单的方法可能是使用闭包。而不是使用标量('password')

    ->add('password', 'custom', [
        'rule' => function ($value, $context) {
            // Custom logic that returns true/false; the password will be in the $value
        },
        'message' => 'Password must contain ...'
    ])
    
    上的文档不包括开箱即用函数的列表,而是引用了。对于用户名,您可能需要将
    ->scalar('username')
    替换为
    ->字母数字('username')

    没有与您想要的密码相匹配的内置验证,因此您必须编写一个。你会看到这里有各种各样的选择;最简单的方法可能是使用闭包。而不是使用标量('password')

    ->add('password', 'custom', [
        'rule' => function ($value, $context) {
            // Custom logic that returns true/false; the password will be in the $value
        },
        'message' => 'Password must contain ...'
    ])