yii中异步验证和自定义方法验证
2024-09-01 12:45:18
一、异步验证,一般使用ajax验证唯一性较多
1、model开启验证
[['mobile_id','ip'], 'unique','message'=>Yii::t('app','E10010')],
2、控制器验证方法
//ajax异步验证唯一
if (Yii::$app->request->isAjax && Yii::$app->request->isPost && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
$params = Yii::$app->request->post('CardNumber');
$valiArr = ['mobile_id']; //根据一些条件判断,此次请求哪些字段要验证
return ActiveForm::validate($model,$valiArr);
}
3、视图层开启异步验证
<?= $form->field($model, 'mobile_id', [
'enableAjaxValidation' => true,
]);
?> 二、自定义验证方法
在调用$models->validate()方法时会触发自定义方法验证字段
模型层
['idinfobind', 'checkIdInfoBind', 'on' => 'add'],
public function checkIdInfoBind($attribute)
{
$where = Yii::$app->request->post()['Unit']['idinfobind'];
$namedata = Top::find()->where(['id' => $where])->one();
// $studentiddata = Top::find()->where(['student_id' => $where])->one();
if (empty($namedata) ) {
$this->addError($attribute, Yii::t('app', 'user id info bind failed'));//添加错误信息
} }
最新文章
- <;转>;卷积神经网络是如何学习到平移不变的特征
- 让Web API支持Protocol Buffers
- 个人关于React的一些理解
- Windows系统使用putty远程连接DigitalOcean创建的Linux系统(CentOS6.7为例)
- css固定div头部不随滚动条滚动
- Gradle的HelloWorld
- php5.2通过saprfc扩展远程连接sap730成功案例
- CodeIgniter目录结构
- firefox 不能显示 glyphicons 字体
- 强大的PropertyGrid
- java实现——007用两个栈实现队列
- 【Android Developers Training】 66. 添加动画
- Java开发知识之Java的继承多态跟接口*
- [蓝桥杯]PREV-23.历届试题_数字游戏
- 如何将Drawable转为Bitmap?
- Windows系统下安装zabbix客户端
- Blender快捷键设置
- Devops 到底是什么?(转)
- hdu 4901 划分序列使异或和==且和
- scrollIntoView()的用法