0

在我的模型类的自定义验证函数中。我需要使用 javascript 代码。为此,我使用了 registerJs 函数,但出现错误:- 调用未定义函数registerJs()

我也尝试通过包含 View 类来调用它,View::registerJs()但它也给出了错误调用

Non-static method yii\web\View::registerJs() should not be called statically, assuming $this from incompatible context

我如何在 Yii2 模型类中使用 Javascript。

编辑:我为手机号码验证创建了一个自定义函数,并从模型的规则部分调用该函数。现在我想在该函数中使用 javascript 代码。还有其他方法可以实现吗?

提前致谢

4

2 回答 2

0

将 Javascript 与模型一起使用并不是一个好主意。如果你这样做,那么可能在一段时间后,你会发现应用程序的架构遇到了大问题。

最好的方法是在控制器内部调用模型,然后通过 Javascript 代码与控制器交互。

于 2016-10-04T08:12:27.957 回答
0

该方法不是静态的。如果您打开view.php框架,您可以查看实现。

   public function registerJs($js, $position = self::POS_READY, $key = null){..
   }

Exception 清楚地提到了这一点,should not be called statically因为它没有被声明为静态的。

我见过很少的实现将此方法称为:

$view->registerJs($js, $view::POS_END);

基本上是在其中一个函数中加载特定的 JS 文件。

于 2016-10-04T07:04:30.703 回答