Yii2 表单验证规则不呈现自定义消息
我正在使用yii2activeform创建一个默认的模板注册表单。在表单中,用户必须指定注册密钥才能完成注册。注册密钥的长度必须介于6到10个字符之间 我已删除表单的所有其他验证规则,但有问题的除外。正在应用规则,但正在呈现默认表单验证消息 以下是相关规则:Yii2 表单验证规则不呈现自定义消息,yii2,active-form,form-verification,Yii2,Active Form,Form Verification,我正在使用yii2activeform创建一个默认的模板注册表单。在表单中,用户必须指定注册密钥才能完成注册。注册密钥的长度必须介于6到10个字符之间 我已删除表单的所有其他验证规则,但有问题的除外。正在应用规则,但正在呈现默认表单验证消息 以下是相关规则: [ “贝塔基”, '字符串', “长度”=>[6,10], “消息”=>“注册码在6到10个字符之间。” ] 上述规则正在应用,我知道这一点,因为当我将长度更改为[2,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"
]
记住,对答案投反对票会损害声誉。如果你打算使用它,你应该有一个很好的理由。不知道为什么这被否决。我投票反对它。这是一个有效的答案,更多的是针对一些可行的问题,但没有记录在案。