朕的大清完了
'unique'
是使用 Ajax 来判断的,你需要在 form 中使用enableAjaxValidation
将'name'
输入项的Ajax 打开:<?=$form->field($model, 'name',['enableAjaxValidation' => true])->textInput() ?>
这样你才能从前端获取到检测结果
$.ajax({ url:"", type:"post", data:{username:username}, success:function(msg){ if(msg==undefined){ tool.csucc('恭喜,帐号可以注册'); }else{ tool.cssno(msg['regform-name']) } }, });
提交表单就是ajax提交的呀,
有数据就返回,没有~就不返回,这不返回数据,检测不到啊,正常情况下,只在找到情况(也就是name有重复了)才会报错,而没有找到不会报错。你完全可以判断是否有该属性的错误信息来判断:
如果找到重复的name,就是 $model->getError('name')不为空,返回“账号已存在” 如果找不到,也就是说,name不重复,没有问题: $model->getError('name')将返回null
天亮来再细看看吧
谢谢大佬,这么晚还没睡哈,
我是用 js 判断的,返回的 json 信息是regform-name: ["账号已存在"]
用下面这句话来叛段,明显有问题。if(msg==undefined){ tool.csucc('恭喜,帐号可以注册'); }else{ tool.cssno(msg['regform-name']) }
不管我判断
undefined
还是null
。还是''
。或者'undefined'
它都不会切换回去,
比如返回空的json,它就不会提示 恭喜,帐号可以注册
但如果返回
regform-name: ["账号已存在"]
它又能提示出来,搞得头疼,特来发帖求大佬指点下
- 朕的大清完了 回答了问题 unique 验证问题,求大佬指点
111111111111
- 朕的大清完了 提出了问题unique 验证问题,求大佬指点
- 朕的大清完了 回答了问题 怎么防刷文章的阅读量?
学到了 点赞