彻底解决Yii2中网页刷新时验证码不刷新的问题

修改vendor/yiisoft/yii2/captcha/CaptchaValidator.php这个文件就可以了,修改的地方见下图:

总结

归根到底,是因为yii2在渲染网页的时候,会先输出js验证代码,然后再显示验证码图片,也就是说,验证码必须在输出js代码前就要重新生成,而CaptchaAction.php中的run()方法是显示验证码图片的时候调用的,CaptchaValidator.php中的clientValidateAttribute()是输出js代码的时候调用的,所以接下来的道理,相信大家都已经明白了。

参考:http://blog.csdn.net/ljfrocky/article/details/46121501

原文地址:https://www.cnblogs.com/peteremperor/p/6802815.html