Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yii2 表单验证规则不呈现自定义消息_Yii2_Active Form_Form Verification - Fatal编程技术网

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

Yii2 表单验证规则不呈现自定义消息,yii2,active-form,form-verification,Yii2,Active Form,Form Verification,我正在使用yii2activeform创建一个默认的模板注册表单。在表单中,用户必须指定注册密钥才能完成注册。注册密钥的长度必须介于6到10个字符之间 我已删除表单的所有其他验证规则,但有问题的除外。正在应用规则,但正在呈现默认表单验证消息 以下是相关规则: [ “贝塔基”, '字符串', “长度”=>[6,10], “消息”=>“注册码在6到10个字符之间。” ] 上述规则正在应用,我知道这一点,因为当我将长度更改为[2,10]时,规则不再触发。我已经读过了,但是如果我错过了什么,请随时告诉

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

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

以下是相关规则:

[
“贝塔基”,
'字符串',
“长度”=>[6,10],
“消息”=>“注册码在6到10个字符之间。”
]
上述规则正在应用,我知道这一点,因为当我将长度更改为
[2,10]
时,规则不再触发。我已经读过了,但是如果我错过了什么,请随时告诉我

以下是Yii正在呈现的javascript:

yii.validation.string(值、消息、{
“消息”:“注册码在6到10个字符之间。”,
“min”:2,
“tooShort”:“测试密钥应至少包含2个字符。”,
“最大”:10,
“tooLong”:“测试密钥最多应包含10个字符。”,
“skipOnEmpty”:1
});

消息
从不由验证器呈现。Yii2中的所有其他核心验证器都使用
消息
指定自定义错误消息。为什么这里不是这样?

文档中没有提到“tooShort”和“tooLong”这两个特性。我能够显式地设置这些,表单现在可以按预期工作了。我想知道这是否是开发人员所期望的功能,因为“消息”仍然是有效的输入。无论如何,我希望这能帮助其他有类似问题的人

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

记住,对答案投反对票会损害声誉。如果你打算使用它,你应该有一个很好的理由。不知道为什么这被否决。我投票反对它。这是一个有效的答案,更多的是针对一些可行的问题,但没有记录在案。