本地好使,但是放到服务器上就不行了。
你目标文件夹里的请求转发配置文件没放上去。
本地好使,但是放到服务器上就不行了。
你目标文件夹里的请求转发配置文件没放上去。
在rules里面自定义规则,代码如下:
public function rules()
{
return [
['username','required','message'=>'请输入用户名'],
['username' , 'checkname' , 'skipOnEmpty' => false],
];
}
public function checkname($attribute , $params)
{
if(!preg_match("/^[\w]{6,20}$/" , $this->$attribute)){
$this->addError($attribute , '用户名必须为6~20的数字或字母');
}
}
第一个是有效的(’请输入用户名),但是第二个就没效果了,不验证了,不知道是什么情况,有知道的吗
你这样仅支持提交后验证,要在填写时验证,再去前台写一个验证js才能实现.
Core validator 如 required 同时支持客户端验证和服务端验证;Inline validator 如 validname 不支持客户端验证,仅支持服务端验证。换句话说,validname validator 必须提交表单后才能触发验证。
rules 相关验证可以多试试
插件已经下载好, 求使用jui的例子
<?php
use yii\jui\DatePicker;
?>
在GridView::widget里,可以用attributeLabels()来指定对应字段的中文,有没类似的方法可以指定value的?
public function attributeLabels()
{
return [
'log_id' => '日志ID',
'company' => '来源公司ID',
'user_id' => '用户ID',
'modules' => '模块来源',
'create_time' => '发生时间',
];
}
················
经过一番努力终于早到了解决办法,既然自己回答不了我就在这里分享一下吧
以modules字段为例,他的值有’module_1′,’module_2′,’module_3’……
这时我们可以在对应的Model文件中添加以下代码:
const MODULE_1 = 'module_1';
const MODULE_2 = 'module_2';
const MODULE_3 = 'module_3';
public static $moduleList=[
self::MODULE_1=>"模块一",
self::MODULE_1=>"模块二",
self::MODULE_1=>"模块三"
];
public function getModule(){
$modules = self::$moduleList[$this->modules];
return isset($modules) ? $modules : null;
}
最后修改对应的视图文件,调用getModule方法
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
[
'class' => 'yii\grid\SerialColumn',
'headerOptions' => ['class' => '']
],
'order_id',
[
'attribute' => 'modules',
'headerOptions' => ['class' => 'col-md-1'],
'value'=>
function($model){
return $model->Module;
},
],
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
最后显示的效果是,当数据库存放的值是’module_1′,’module_2′,’module_3’……那么前端显示的将是对应的中文’模块一’,’模块二’,’模块三’······
设置字段默认值?
你确定你不是在开玩笑?
今天写一个程序时,在填资料时填到一半,不小心按到回车键,然后页面刷新了,然后辛苦半天填写的资料就没有人。有什么办法可以回到刚刚填写的页面,让那些辛苦填了半天突然不知道什么原因就资料就没有了还能恢复到当前状态呢?
给你一个思路
};
//如果用户留在了页面,就执行下面这个。
function beforeloadResult () {
alert(‘你还在本页面’);
}
不用确认用户表单是否提交,只要打开页面超过一定时间就需要确认才可以离开。
很多浏览器返回上一页面可以保留资料,但页面刷新一般不会保留.
你要记录就用本地cookie记录未完成的资料咯
我们项目中 现在有这个功能 我们采用的思路就是 用户每输入一个 就保存到redis中 输入完全点击确认会保存到数据库中 假如误操作 进入这个页面 会从redis中 读取 以前输入的值
/**
* This is the model class for table "user".
*
* @property integer $id
* @property string $username
* @property string $mobile
* @property string $auth_key
* @property string $password_hash
* @property string $password_reset_token
* @property string $email
* @property integer $status
* @property integer $role
* @property string $created_at
* @property string $updated_at
* @property string $sex
*/
class User extends \yii\db\ActiveRecord implements IdentityInterface
{
这是符合phpdoc的注释格式,有很多工具可以解析这类注释并且直接生成文档,例如phpDocumentor, doxygen等等。IDE例如eclipse的PDT,InteliJ的IDEA和PHPStorm也能解析这种注释格式,并且根据注释来辅助生成代码提示
如果你使用gii生成代码,比如你用gii生成model,它默认就有这个注释
发个问题真蛋疼,关闭了又不能删除,写了整整一篇忘记点发布就关了,又得重新写。事情是这样的:我的老大叫我在网站里实现qq第三方登录的功能,用腾讯官方给的SDK,很容易就实现了(这也证明我的流程是没有错的),但是因为项目框架的用yii2,所以,没办法,就上网找咯,Github上官方写的第三方登录扩展是针对facebook、github等外国平台的,在天朝也是没什么luan用的,所以就继续找。
找到两位仁兄写的东西,Yii2中的OAuth扩展及QQ互联登录,QQ等第三方登录,后者其实就是模仿前者写的,他自己也作了说明,只是他把QqOAuth这个类放在了不同的地方引用而已,然而并没有什么luan用,因为原作者写的东西本来就有错,连他自己网站的QQ登录也出现那个回调地址有问题的问题,他的QQ登录,发这篇东西原因,是不想你们走我的老路,恳请大神们帮我下,用他们两人写的教程为啥出错?还有我看到本站其实有Qq登录的功能,我想问站长巡洋艦大哥,使用官方SDk,还是自己写好的yii版本呢?能不能分享下怎么实现那个功能?![]()
这里是我的QQ登录的实现 https://github.com/yiichina/yiicms/blob/master/frontend/widgets/QQClient.php
mark,需要时再研究
Mark一下,肯定会要用到的。。
Mark一下,肯定会要用到的
你的问题解决了吗?QQ提示100010,回调错误。我也遇到了这个问题
我现在就纠结这个问题,qq互联回调不让写问号,这b框架自己非要有。网上查很多,但是全 拷贝粘贴的。一个符号不带差的。楼主解决了分享下啊
已集成 第三方登录
yii2作为后台如何通过接口写移动端的第三方登录,如qq,微信,求指点
跟纯PHp写思路应该一样吧
class HomePageController extends Controller{
public function actionIndex(){
return $this->render('index');
}
}
这样访问:http://127.0.0.1/yii/b/web/index.php?r=home-page
提示:
Not Found (#404)
Page not found.
哪里有错呢?
看下base\controller
url :http://127.0.0.1/yii/b/web/index.php?r=home-page/index
or
学习了,Camel case controller name not well supported #493,view文件夹也需要是’home-page’。
$data = Chat::find()->where(['>', 'id', 45],'uid'=>1])->asArray()->all(); 要怎么改呢?
还是预处理的更好用
如果先看到底运行的原生sql是什么可以用这样