我希望在 Yii2 中的 activeforms 上创建自定义验证消息以进行客户端验证。我想要实现的目标是在表单字段的一侧获得一个引导弹出框,其中包含该字段的验证错误消息,例如密码太短或密码不符合要求。这些消息根据给定的输入和验证规则动态变化。
我一直在研究使用 clientValidateAttribute 并为字段创建 javascript,这是有效的,但我错过了设置来自模型验证的正确验证消息。
这是一个基于 clientValidateAttribute 中的某些条件创建弹出框的简单示例。
return <<<JS
var def = $.Deferred();
if (attribute.name == "email" && value !== "") {
$( ".login-pop" ).popover("show");
} else {
$( ".login-pop" ).popover("destroy");
}
deferred.push(def);
JS;
当属性为 email 且为空时,这将在 .login-pop 类字段上显示一个弹出框。我一直在寻找使用消息数组,但看起来它只设置了一次。
也许我对验证有误导,可能有更简单或更好的解决方案来实现这个目标,并且能够验证每个字段,返回要在 javascript 工具中使用的正确消息。
谢谢你。