500miles
如果需要
姓名和身份证 严格匹配
, 需要从公安系统验证, 一般公司是没这个资质的...幸好... 有资格的服务商 提供
api
, 调用一次 大概三块钱左右;如果不用严格匹配... 按身份证数字规则做验证即可. 大概规则 这里给你贴一下
前6位为行政区划分代码 ( 网上很多数据库数据, 你可以下载来作验证 )
第7位至14位为出生日期 (使用
php
函数验证是否是正确日期即可)第15位至17位为顺序码 ( 无法验证 )
第18位为校验码。 (具体验证规则 百度 "身份证最后一位")
你可以根据以上信息, 进行选择性进行验证
public function rules() { return [ ...... // other rules ['id', 'validateId'], ]; } public function validateId($attribute, $params) { if ($this->hasErrors()) { return false; } if (验证失败) { $this->addError('id', 'error tips'); return false; } return true; }
- 500miles 回答了问题 身份证号的rule 写法
如果需要
姓名和身份证 严格匹配
, 需要从公安系统验证, 一般公司是没这个资质的...幸好... 有资格的服务商 提供
api
, 调用一次 大概三块钱左右;如果不用严格匹配... 按身份证数字规则做验证即可. 大概规则 这里给你贴一下
前6位为行政区划分代码 ( 网上很多数据库数据, 你可以下载来作验证 )
第7位至14位为出生日期 (使用
php
函数验证是否是正确日期即可)第15位至17位为顺序码 ( 无法验证 )
第18位为校验码。 (具体验证规则 百度 "身份证最后一位")
你可以根据以上信息, 进行选择性进行验证
- 500miles 2015-11-19 已签到连续签到1天,获得了5个金钱
方案一
yii\i18n\Formatter
的nullDisplay
属性设置为你想要的.这将会使得 所有依赖
yii\i18n\Formatter
的地方受到影响(仅值为null
时)方案二
如果不想扩大影响面, 在表格渲染时, 判断并修改之.
......... 'columns' => [ ...... // 别的行 [ 'class' => 'yii\grid\DataColumn', 'attribute' => 'name',//要修改的行, 比如name 'value' => function($data){ if (null === $data->name) { return 'play your imagination here'; } return $data->name; } ], ...... //别的行 ], ..........
首先, 你理解的没错儿.
只不过, 大部分业务逻辑中 ...
如果update
, 通常是取出数据, 然后做一些操作, 最后修改数据后再save
(此时就是update
)
此种情况下, 如果按条件取不到数据, 往往意味着 :哪里出了问题?
,404?
,于是抛出异常或者其他处理措施......
你想要的 其实就是这种情况的处理措施之一 :
取不到数据, 我不抛异常, 不给404 我直接新建一条..
最后 感觉这样不够优雅.
你可以自己加一个方法来扩充ActiveRecord
. 比如 :updateOrInsert()
这样似乎会友好, 优雅一点当前命名空间下没有
Exception
, 需要指明命名空间..改成这样 :
... catch(\Exception $e) ...
, 加一个反斜杠在前面.另外多嘴一句,
mysql
系列扩展函数不是早就不建议用了吗?PDO
是个好选择 或者mysqli
系列@353385529 如果已经得到解决, 请把问题标记
已解决
. thx显式指定一下
Response
的format
, 否则默认为html
$response = Yii::$app->getResponse(); $response->format = $response::FORMAT_RAW;
然后再加上你那些
$response->getHeaders()->set('Content-Type', 'image/png');
之类的头信息@mymissbook 请问, 这样凑效吗? 有帮到您吗?
- 500miles 回答了问题 无法捕获sql连接异常
当前命名空间下没有
Exception
, 需要指明命名空间..改成这样 :
... catch(\Exception $e) ...
, 加一个反斜杠在前面.另外多嘴一句,
mysql
系列扩展函数不是早就不建议用了吗?PDO
是个好选择 或者mysqli
系列 - 500miles 2015-11-17 已签到连续签到79天,获得了20个金钱
服务端应对
xss
, 两个关键节点 : 输入 和 输出.理论上讲, 任何一个关卡把严了, 就没问题. (这里只针对
xss
, 不考虑其他)不过还是都处理一下吧. 毕竟存储的数据 可能不止你一个人用, 万一队友觉得你在存储前处理了呢...
具体怎么处理,
Yii
里面提供了很好的工具.HtmlHelper
和HtmlPurifier
.切记 : 不要试图自己去过滤, 使用类似上面提到的这些第三方工具.