Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。

废话不多说了,直接给大家贴代码了。

<?phpclass ContactForm extends CFormModel{  public $_id;  public $contact;//联系人  public $tel;//电话  public $fax;//传真  public $zipcode;//邮编  public $addr;//地址  public $mobile;//手机  public $email;//邮箱  public $website;//网址  public $qq;//QQ  public $msn;//MSN  public function rules()  {    return array(      array("contact","required","on"=>"edit","message"=>"联系人必须填写."),      array("contact","length","on"=>"edit","min"=>2,"max"=>10,"tooShort"=>"联系人长度请控制在2-10个字符.","tooLong"=>"联系人长度请控制在2-10个字符."),      array("tel", "match","pattern" => "/^(d{3}-|d{4}-)(d{8}|d{7})?$/","message" => "请输入正确的电话号码."),      array("fax", "match","pattern" => "/^(d{3}-|d{4}-)(d{8}|d{7})?$/","message" => "请输入正确的传真号码."),      array("mobile", "match","pattern" => "/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/","message" => "请输入正确的手机号码."),      array("email","email","on"=>"edit","message"=>"邮箱输入有误."),      array("zipcode","required","on"=>"edit","message"=>"邮编必须填写."),      array("zipcode","numerical","on"=>"edit","message"=>"邮编是6位数字."),      array("zipcode","length","on"=>"edit","min"=>6,"max"=>6,"tooShort"=>"邮编长度为6位数.","tooLong"=>"邮编长度为6位数."),      array("website","url","on"=>"edit","message"=>"网址输入有误."),      array("qq", "match","pattern" => "/^[1-9]{1}[0-9]{4,11}$/","message" => "请输入正确的QQ号码."),      array("msn","email","on"=>"edit","message"=>"MSN输入有误."),    );  }}

完整示例:

public $password2;//非数据库的字段,但是在view中需要用到  public $verify; //手机验证码  public $fjg; //忘记号码  /**   * 映射数据库表名   * @return string the associated database table name<br><br>     * www.shouce.ren   */  public function tableName()  {    return "adm_user";  }  /**   * 验证规则   * @return array validation rules for model attributes.   */  public function rules()  {    // NOTE: you should only define rules for those attributes that    // will receive user inputs.    return array(      //array("mobile_phone,name,status", "required"),      array("mobile_phone", "unique"),//"message" => "该手机号已经存在!"      array("mobile_phone", "match","pattern" => "/^(13|15|18)[0-9]{9}$/","message" => "请输入正确的经办人手机号码."),      //array("certificate_id", "match","pattern" => "/(.jpg|.gif|.png|d)$/","message" => "请重新选择证书图像并且后缀只能是jpg、gif、png格式."),      array("phone", "match","pattern" => "/^(d{3}-|d{4}-)?(d{8}|d{7})?$/","message" => "请输入正确的座机号码."),      array("fax", "match","pattern" => "/^(d{3}-|d{4}-)(d{8}|d{7})?$/","message" => "请输入正确的传真号码."),      //array("email_address", "match","pattern" => "/^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/","message" => "请输入正确的邮箱."),      array("email_address","email","message"=>"请输入正确的邮箱."),      //验证密码和确认密码      array("password2","compare","compareAttribute"=>"password","message"=>"两次密码不一致","on"=>"register"),      array("password2","compare","compareAttribute"=>"password","message"=>"两次密码不一致","on"=>"regonter"),      array("qq", "match","pattern" => "/^[1-9]{1}[0-9]{4,11}$/","message" => "请输入正确的QQ号码."),      array("type,certificate_id,company_type, nationality,yyzz_id, status,level,create_by_id, create_time,update_time", "numerical", "integerOnly"=>true),      array("verify", "numerical", "message" => "验证码不正确","integerOnly"=>true),      array("name,user_type,tuijianren", "length", "max"=>20),      array("password", "length", "max"=>100),      array("email_address,business", "length", "max"=>50),      array("communication_address,money, yhzh,yhmc,industry, company, register_address,yhdh,shangbiao,zhuanli,gongshang", "length", "max"=>255),      array("role_id","default", "setOnEmpty"=>true, "value"=>10),      array("shangbiao","default", "setOnEmpty"=>true, "value"=>"0,0"),      array("zhuanli","default", "setOnEmpty"=>true, "value"=>"0,0"),      array("gongshang","default", "setOnEmpty"=>true, "value"=>"0,0"),      array("password","default", "setOnEmpty"=>true, "value"=>"123456"),      /*验证码*/      array("verify","checkVerify", "on"=>"register"),      array("email_address","checkemail", "on"=>"regonter"),//     array("certificate_id", "file","allowEmpty"=>true,//         "types"=>"jpg, gif, png, doc, txt",//         "maxSize"=>1024 * 1024 * 10, // 10MB//         "tooLarge"=>"文件大小不能超过10M!",//         "message"=>"请先上传证书图像."//     ),      // The following rule is used by search().      // @todo Please remove those attributes that should not be searched.      array("id,role_id,name, password,user_type, email_address,tuijianren,shangbiao,company_type,zhuanli,gongshang,money,yhzh,yhmc,yyzz_id,yhdh,type,level, phone, qq, mobile_phone, fax, communication_address, nationality, industry, company, business, register_address, certificate, status, create_by_id, create_time, update_time", "safe", "on"=>"search"),    );  }   /*   * 手机验证码校验    */  public function checkVerify($attribute,$params)  {       $model=new Mess();    $d_title = $model->find(array("condition"=>"suij=:suij and tel=:tel and type>:type and time>:time","params"=>array(":suij"=>$this->verify,":tel"=>$this->mobile_phone,":type"=>0,":time"=>(time()-3600)),"select"=>array("id")));    //$d_title = $model->findByAttributes(array("suij"=>$this->verify,"tel"=>$this->mobile_phone),array("select"=>array("id")));    if($d_title["id"]<1)    {      $this->addError("verify", "验证码不正确。");    }    else    {      if($this->password == $this->password2)      {        $model->updateAll(array("type"=>0),array("condition"=>"suij=:sj","params"=>array(":sj"=>$this->verify)));      }    }  }

以上代码就是关于PHP Yii框架之表单验证规则大全的全部内容,希望大家喜欢。