修改vendor/yiisoft/yii2/captcha/CaptchaValidator.php
这个文件就可以了,修改的地方见下图:
总结
归根到底,是因为yii2在渲染网页的时候,会先输出js验证代码,然后再显示验证码图片,也就是说,验证码必须在输出js代码前就要重新生成,而CaptchaAction.php
中的run()
方法是显示验证码图片的时候调用的,CaptchaValidator.php
中的clientValidateAttribute()
是输出js代码的时候调用的,所以接下来的道理,相信大家都已经明白了。
参考:http://blog.csdn.net/ljfrocky/article/details/46121501