在Yii 2中错误验证模式匹配的问题

时间:2014-11-29 17:22:10

标签: php regex yii yii2

我的rules方法中有一堆验证规则,所有错误似乎都有效,但这个问题有问题:

['username', 'match', 'pattern' => '/[a-zA-Z0-9_-]+/', 'message' => 'Your username can only contain alphanumeric characters, underscores and dashes.'],

验证,这是不正确的行为。

我在这里做错了吗?

3 个答案:

答案 0 :(得分:9)

此模式仅检查第一个字符。你需要纠正它,如下所示:

['username', 'match', 'pattern' => '/^[a-zA-Z0-9_-]+$/', 'message' => 'Your username can only contain alphanumeric characters, underscores and dashes.'],

为确保Yii的匹配正常,您可以将@(例如)作为第一个字符进行测试。然后,你可以看到,验证工作。所以问题在于你的模式。

答案 1 :(得分:0)

以上答案在我的项目中也无效。我请求您遵循以下解决方案:

[['userame'],'match', 'pattern' => '/^[a-z]\w*$/i','message' => 'Enter Characters Only'],

答案 2 :(得分:0)

以上所有解决方案都不适用于我。这是最好的事情,所以试一试:

['first_name', 'match', 'pattern' => '/^[a-z][A-Za-z,;\"\\s]+[!?.]$/i'],