zoukankan      html  css  js  c++  java
  • yii表单验证

    <div class="form">

    <?php $form=$this->beginWidget('CActiveForm', array(

    'id'=>'auth-form',

    'enableAjaxValidation'=>true,

    'enableClientValidation'=>true,

    'clientOptions' => array(

    'validateOnSubmit' => true, //需要ajax验证为真,否则为假

    ),

        'focus'=>array($model,'username'),

    'action'=>'authoriza2/login',

    )); ?> 

    <?php $this->endWidget(); ?>

    </div><!-- form -->

     自定义验证规则

    关键有一下两个步骤:
            1、在rules中 添加代码:array('tagname', 'checktagname', 'on'=>'create,update'),//插入TAG时检查是否已经存在该tag
            注:我在其中用了 'on'=>'create,update',所以这个验证规则之对create,update场景生效
            2、在该模型(models)中添加验证函数:
    public function checktagname($attribute,$params){
            $oldtag = Tag::model()->findByAttributes(array('tagname'=>$this->tagname));
            if($oldtag->tagid > 0){
                 $this->addError($attribute, '该TAG已经存在!');
           }
    }

    内置验证规则

    Yii 有内置数据验证,我将它列出来:

    required: 必填字段验证, 来自 CRequiredValidator类的别名

    array(‘字段名列表用逗号隔开’, ‘required’),    就这样的一个小小的写法,可以让字段前面加个 * 星号显示出来,表示必填字段

    filter: 过滤验证, 来自 CFilterValidator 类的别名

    match: 使用正则表达式,来自CRegularExpressionValidator的别名, 用于 验证属性是否匹配一个正则表达式

    email: 验证邮箱,来自CEmailValidator类的别名

    url: 验证网址, 来自CUrlValidator的别名

    unique: 验证唯一性, 来自CUniqueValidator的别名

    compare: 多字段对比验证,来自CCompareValidator的别名

    length: 验证字符串的长度验证,来自CStringValidator的别名

    in: 验证属性值是否在一个预订的值列表里面,来自CRangeValidator的别名

    numerical: 验证字符串是否为整数,来自CNumberValidator的别名

    captcha: 验证码啦,来自CCaptchaValidator的别名

    type: 验证字符串类型,来自 CTypeValidator的别名

    file: 文件验证,来自CFileValidator的别名

    default: 默认值验证, 来自CDefaultValueValidator的别名

    exist: 验证数据是否存在, 来自CExistValidator的别名

    boolean: 验证真假值, 来自CBooleanValidator的别名

    date: 验证日期时间, 来自CDateValidator的别名

    safe:验证数据是否安全,来自 CSafeValidator的别名

    unsafe: 不验证,来自CUnsafeValidator的别名

  • 相关阅读:
    SpringRequestContext源码阅读
    MyBatis事务管理源码阅读
    linux查找依赖文件
    GitHub
    Qt Quick
    centos7下安装chrome
    软件使用
    排序算法之冒泡排序
    c++学习
    cent6.4使用
  • 原文地址:https://www.cnblogs.com/xiongsd/p/3054808.html
Copyright © 2011-2022 走看看