表单验证规则不呈现自定义消息
Form validation rule does not render custom message
我正在使用 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
来指定自定义错误消息。为什么这里不是这种情况?
文档没有说明 "tooShort" 和 "tooLong" 这两个特征。我能够明确地设置这些并且表单现在按预期工作。我想知道这是否是开发人员预期的功能,因为 "message" 仍然是一个有效的输入。无论如何,我希望这对遇到类似问题的其他人有所帮助。
[
'betaKey',
'string',
'length' => [2, 10],
'tooShort' => "Test-Short",
'tooLong' => "Test-Long"
]
我正在使用 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
来指定自定义错误消息。为什么这里不是这种情况?
文档没有说明 "tooShort" 和 "tooLong" 这两个特征。我能够明确地设置这些并且表单现在按预期工作。我想知道这是否是开发人员预期的功能,因为 "message" 仍然是一个有效的输入。无论如何,我希望这对遇到类似问题的其他人有所帮助。
[
'betaKey',
'string',
'length' => [2, 10],
'tooShort' => "Test-Short",
'tooLong' => "Test-Long"
]