gpt4 book ai didi

yii.activeform.js 生成无效验证js脚本

转载 作者:行者123 更新时间:2023-12-02 04:50:10 25 4
gpt4 key购买 nike

在一个好的项目中,它应该是这样的:

   <script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#form-signup').yiiActiveForm({
"username": {
"validate": function(attribute, value, messages) {
yii.validation.required(value, messages, {
"message": "Username\u4e0d\u80fd\u4e3a\u7a7a\u3002"
});
yii.validation.string(value, messages, {
"message": "Username\u5fc5\u987b\u662f\u4e00\u6761\u5b57\u7b26\u4e32\u3002",
"min": 2,
"tooShort": "Username\u5e94\u8be5\u5305\u542b\u81f3\u5c112\u4e2a\u5b57\u7b26\u3002",
"max": 255,
"tooLong": "Username\u53ea\u80fd\u5305\u542b\u81f3\u591a255\u4e2a\u5b57\u7b26\u3002",
"skipOnEmpty": 1
});
},
"id": "signupform-username",
"name": "username",
"validateOnChange": true,
"validateOnType": false,
"validationDelay": 200,
"container": ".field-signupform-username",
"input": "#signupform-username",
"error": ".help-block"
},
</script>

但是在我的项目中,当我输入无效的电子邮件或用户名时,没有任何提示或错误显示!当我检查 yii 生成的代码时,我看到 yiiActiveForm 的空参数

  <script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#form-signup').yiiActiveForm([], []);
});
</script>

谁能告诉我为什么? vendor 文件夹有问题吗?

最佳答案

这可能是因为您的模型类没有设置在正确的场景中,导致验证被跳过。请查看有关此主题的文档:

http://www.yiiframework.com/doc-2.0/guide-structure-models.html#scenarios

如果你想在当前 View 上应用某些规则,你需要在创建模型实例时设置场景:

// scenario is set as a property
$model = new User;
$model->scenario = 'login';

// scenario is set through configuration
$model = new User(['scenario' => 'login']);

在你的模型中,上面的用户案例,你会有这个功能:

namespace app\models;

use yii\db\ActiveRecord;

class User extends ActiveRecord
{
public function scenarios()
{
return [
'login' => ['username', 'password'],
//more scenarios would follow here...
];
}
}

关于yii.activeform.js 生成无效验证js脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29487178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com