表单验证规则不会呈现自定义消息

时间:2015-02-26 16:30:13

标签: yii2 active-form form-verification

我正在使用Yii2 ActiveForm制作默认模板注册表单。在表单中,用户必须指定注册密钥才能完成注册。注册密钥的长度必须介于6到10个字符之间。

我已删除了我的表单的所有其他验证规则,除了我遇到问题的规则。正在应用该规则,但正在呈现默认表单验证消息。

以下是有问题的规则:

[ 
    'betaKey',
    'string',
    'length' => [6, 10],
    'message' => 'Signup Codes are between 6 and 10 characters.' 
]

正在应用上述规则,我知道这一点,因为当我将长度更改为[2, 10]时,规则不再被触发。我已经阅读了documentation,但如果我错过了什么,请随时告诉我。

以下是Yii呈现的javascript:

yii.validation.string(value, messages, {
    "message": "Signup Codes are between 6 and 10 characters.",
    "min": 2,
    "tooShort": "Beta Key should contain at least 2 characters.",
    "max": 10,
    "tooLong": "Beta Key should contain at most 10 characters.",
    "skipOnEmpty": 1
});

message永远不会被验证者呈现。 Yii2中的所有其他核心验证程序使用message来指定自定义错误消息。为什么不是这里的情况呢?

1 个答案:

答案 0 :(得分:2)

文档没有说明这两个特征," tooShort"并且"太长"。我能够明确地设置这些,并且表单现在按预期工作。我想知道这是否是开发人员预期的功能" message"仍然是一个有效的输入。无论如何,我希望这可以帮助其他有类似问题的人。

        [ 
            'betaKey',
            'string',
            'length' => [2, 10],
            'tooShort' => "Test-Short",
            'tooLong' => "Test-Long"
        ]