谁一开始就是大神?

PHP 第56页

PHP

$oModel->load()的时候会验证rules吗?[2.0]

Slydolphin阅读(100)

$oModel->load()的时候会验证 rules 吗?还是说只有加上这句 $oModel->validate()才会走验证规则呀?

load()
顾名思义,加载。为调用的模型加载从用户那传来的数据用以填充该模型。
填充的过程是不会使用rules()中声明的验证器去验证的。但是他会把没有在rules()中声明验证器的属性排除在填充之外。
举个例子:
假设你拥有 public $haha 属性。
但是你没有在rules中为$haha声明一个验证器。那么你在调用load()的时候则不会去为$haha填充数据。
即使这个数据是符合load()数据源的格式的。
而validate()的责任才是真正去检查每一个被填充了值的属性是否合法。如果不合法,则会往errors属性中填充不合法的信息并返回false。
逼都让 装完了 我看你们装逼就行了

验证错误后,返回时选中提交之前选中的div[2.0]

KimLion阅读(90)

如题,现在的问题是返回页面,其他的下拉框,输入框都是之前的内容,就div变成了第一个,

请问如何选中的是之前已经选中的div?

如果都是非隐藏的input,确实是可以保留你提交时候的数据,但是你那个div实际提交的是隐藏input,所以肯定是不会保留的。
根据你这个请求失败要保留原来信息的这个需求,强烈建议用AJAX去解决,用户体验也很好。
不明白你是什么类型的输入。
如果浏览器不支持返回,可以提交前把数据存本地,有返回上一页时通过js初始化

向mysql数据库同时插入10000条数据便于测试的代码有人能帮助一下吗?[2.0]

CleverEagle阅读(84)

因为公司要测试数据,所以需要有大量数据.但是个人能力不足,希望大神给予帮助

批量插入数据,还是已经有数据了,直接导入?
用PHP写,循环10次,每次插入1000条。然后具体的数据,每个字段采用随机字符串生成。这样应该可以。我只是给你一个思路~
php可以写一个小方法 把sql语句拼到一起 然后拿出来执行

如何将默认语言设为中文[2.0]

NiceEagle阅读(100)

如何将默认语言设为中文,尝试将 'language'=>'zh-CN',
放到config/web.php中,但是不起作用,有没有大神有解决办法,望:尽量详细!

详细阅读yii文档,http://www.yiichina.com/doc/guide/2.0/tutorial-i18n
在这一部分。或者看着个
http://www.ybsat.com/index.php/404
如果还有问题,请回复
和i18n有关系。没翻译的消息内容设置为中文也没得翻译啊。遇到这情况要么给自己扩展让它支持18n,要么就跑到视图里一个一个改。

yii2多个数据库操作[2.0]

HoneyEagle阅读(83)

yii2中进行多个数据库时,怎么区分是那个数据库??

方法很多
1,ar的话,直接可以getDb()方法,设置使用的数据库。
2,组件形式,使用createCommand查询时候设置Yii::$app->db1 Yii::$app->db2…也可以直接实例化一个yii\db\connection类;
3,使用db\query的话,直接写数据库名,如robbins.username之类的。
4,还可以使用Yii::$app->createObject()传入配置实例话一个对象
等等。。。。
直接绑定数据库

2.08的注销按钮[2.0]

Bobcrab阅读(93)

2.08的注销按钮代码

$menuItems[] = '<li>'
    . Html::beginForm(['/site/logout'], 'post')
    . Html::submitButton(
        'Logout (' . Yii::$app->user->identity->username . ')',
        ['class' => 'btn btn-link']
    )
    . Html::endForm()
    . '</li>';

之前的版本是这样的

$menuItems[] = [
    'label' => '注销 (' . Yii::$app->user->identity->username . ')',
    'url' => ['/site/logout'],
    'linkOptions' => ['data-method' => 'post']
];

这个改动是不是更安全??
但是导航显示出现了问题
(yiichina的图片上传是不是不对啊,弄不上去)

没区别啊,效果一样的。都是post方式注销的,防止低端的csrf攻击。
CSRF 是跨站请求伪造的缩写。这个攻击思想源自许多应用程序假设来自用户的浏览器请求是由用户自己产生的,而事实并非如此。
比如说:an.example.com 站点有一个 /logout URL,当以 GET 请求访问时,登出用户。如果它是由用户自己操作的,那么一切都没有问题。但是,有一天坏人在一个用户经常访问的论坛发了一个 <img src="https://www.yiichina.com/docs/guide/2.0/http://an.example.com/logout"> 内容的帖子。浏览器无法辨别请求一个图片还是一个页面,所以,当用户打开含有上述标签的页面时,他将会从 an.example.com 登出。
上面就是最原始的思想。有人可能会说,登出用户也不是什么严重问题,然而,我们发送一些 POST 数据其实也不是很麻烦的事情。
为了避免 CSRF 攻击,你总是需要:
遵循 HTTP 准则,比如 GET 不应该改变应用的状态。
保证 Yii CSRF 保护开启。
02_avatar_middle.jpg
上传图片正常了,原来目录的权限不对。
webwxgetmsgimg.jpg

活动表单下拉列表中如何禁止某一选项?[2.0]

Elliesea阅读(85)

<?= $form->field($model, 'finish')->dropDownList(['0'=>'未完成', '1'=>'已完成'], ['style'=>'width:200px']) ?>
怎么通过disabled禁止‘已完成’选项,参考过类文件了,看的不太懂,试了多次都没出来。

注册个js,内容是找到对应的option,加个disabled不就得了?
$this->registerJs("$('option[value=\"1\"]').attr('disabled','');");

scenarios场景与rules的关系[2.0]

NewJames阅读(92)

最近在学习yii框架,但是场景和规则这个地方有点弄混了,如图A.jpg

如图,在规则rules中设定字段a和字段b,当场景为update的时候触发,但是在设置场景update的时候我选择了字段a和b以及c,那么在程序中当时执行场景update的时候,字段c会做校验码?

校验。你设置这个意思是只有update场景时候,才去校验你第二条规则,其他场景只校验第一条
您的答案 C 是會驗證的 , 欄位跟場景是不同的
下面舉些例子看看差別
首先預設參數
單驗證欄位
1.
加入場景 scenario_a , scenario_b
1.
1-1.
指定驗證欄位
2.
2-1
2-2
2-3
‘on’就是在它指定的场景下使用。可以考虑这样:

rules规则数字验证器不能用了吗?[2.0]

HaHpony阅读(86)

如题:在rules里用了这个规则报错 Class numerical does not exist

['num','numerical','min'=>1,'max'=>100,'integerOnly'=>true],

我想num 是个1-100的数字。如何做?求解。

number,没你那个什么numerical。。。
['num', 'integer', 'min'=>1, 'max'=>100]

安装好纠结如何跳过token这一步[2.0]

Belladolphin阅读(92)

win7下安装token出问题 粘进去总是提示no token 试了很多遍有没有解决办法 或者是跳过这一步的办法

最好确认你贴的是token代码,如果前面有空格或者换行什么的,自然是失败。
可以贴到文件编辑器里确认一下,或者直接手动输入
你粘进去的啥

登录

找回密码

注册