yii2 unique 验证

开发过程中会用到检测用户名或手机号或邮箱是否唯一。

在model的rules中加入

[[‘email‘],‘unique‘],

在view中

<?php $form = ActiveForm::begin([‘enableAjaxValidation‘ => true]); ?>

在controller中

public function actionCreate()
    {
        $model = new User();
        if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
            Yii::$app->response->format = Response::FORMAT_JSON;
            return ActiveForm::validate($model);
        }
}

即可。

时间: 2024-10-28 18:47:42

yii2 unique 验证的相关文章

unique 验证 criteria 使用

model array('code', 'unique', 'criteria' =>array('condition' =>'schoolid=:schoolid','params' => array(':schoolid'=> $this->schoolid))) Controller $model->schoolid = $this->branchId; $_POST['EClassroom']['schoolid'] = $this->branchI

yii2 rules 验证规则

yii2  框架定义的约束 public $builtInValidators = [ 'boolean' => 'yii\validators\BooleanValidator', 'captcha' => 'yii\captcha\CaptchaValidator', 'compare' => 'yii\validators\CompareValidator', 'date' => 'yii\validators\DateValidator', 'default' =>

yii2数据验证

1. 客户端验证 yii根据AR类rules()中的验证规则生成相应的Javascript验证代码.通过设置参数enableClientValidation的值来决定是否启用 客户端验证,默认为true,有以下3种方法来设置该参数的值. (1)在视图文件ActiveForm中对整个form进行设置: <?php $form = ActiveForm::begin([ 'enableClientValidation' =>true ]); ?> (2)在视图文件ActiveField中对单

YII2.0 验证表单

控制器代码 <?php namespace app\modules\pub\controllers; use Yii; use backend\base\BaseController; use backend\modules\pub\models\LoginForm; use backend\modules\pub\models\RegisterForm; class DefaultController extends BaseController{ public $layout = false

Yii2 rules验证规则

Rules验证规则:  required : 必须值验证属性||CRequiredValidator 的别名, 确保了特性不为空. [['字段名1','字段名2'],required]    //字段1 2 必填 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息'];  email : 邮箱验证||CEmailValidator 的别名,确保了特性的值是一个有效的电邮地址. ['email', 'email'];  match 

yii2 rules验证规则,ajax验证手机号码是否唯一

<?php namespace frontend\models; use Yii; use yii\base\Model; /** * Signup form */ class SignupForm extends Model { public $mobile; public $captcha; public $password; /** * @inheritdoc */ public function rules() { return [ [['mobile', 'captcha', 'pas

jQueryeasyUI+Hibernate+struts2实现商城后台管理之添加操作时的unique验证

1. 在admin.js中添加扩展验证的操作checkName var checkUrl = "./hytc/AdminAction_check.action"; 2. 在admin_select.jsp中调用 data-options="required:true,validType:{checkName:[]} <tr> <td>用户名:</td> <td><input class="easyui-textb

Yii2.0模型层数据验证和thinkPHP3.2框架模型层数据验证对比

Yii2.0模型层数据验证 一般说来,程序猿永远不应该信任从最终用户直接接收到的数据,并且使用它们之前应始终先验证其可靠性.要给model填充其所需的用户输入数据,你可以调用 yii\base\Model::validate() 方法验证它们.该方法会返回一个布尔值,指明是否通过验证.若没有通过,你能通过 yii\base\Model::errors 属性获取相应的报错信息.比如 $model = new \app\models\ContactForm; // 用用户输入来填充模型的特性 $mo

ThinkPHP中create()方法自动验证

自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 原理: create()方法收集表单($_POST)信息并返回,同时触发表单自动验证,过滤非法字段, 在控制器中使用create()方法,(返回值为true/false),会自动触发模型类中的$_validate属性(为父类Model中的方法,在子类Model中重写),在$_validate中自定义验证规则(验证规则下面会详细说明),当create()方法没有数据即返回值为fals