php – yii验证电话号码的输入数组

前端之家收集整理的这篇文章主要介绍了php – yii验证电话号码的输入数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用Yii 1.1.16中的多联系表格.用户可以在哪里添加多个电话号码.

问题是,我如何使用Yii的规则()来验证这一点?

PHP echo $form->labelEx($model,'contacts',array('class'=>'col-md-3 control-label')); ?>
最佳答案
使用自定义验证.

在规则中声明自定义验证器,并在验证器方法中定义所需的验证.

public function rules()
{
    return array(
      array('contacts',validateContacts),);
}

public function validateContacts($attribute,$params)
{
   if (length($this->contacts) == 0) {
      $this->addError($attribute,'You must add at least one contact!');
   }
   foreach($this->contacts as $contact) {
      // ...
   }

}

在控制器中,将contacts数组分配给Model字段并调用模型的验证方法.如果有任何错误,它将通过该行显示

PHP echo $form->error($model,'contacts'); ?>

在视图中.

控制器包含调用验证的代码.

$contactModel = new Contact;
// assign the array of contacts to the model
$contactModel->contacts = $POST['myForm]['contacts']
$contactsModel->validate();

$this->render('myform',contactModel);

如果您希望通过Ajax进行验证,则需要在创建表单时指定:

$form=$this->beginWidget('CActiveForm',array(
   'id'=>'top-websites-cr-form','enableAjaxValidation'=>true,'clientOptions' => array(
      'validateOnSubmit'=>true,'validateOnChange'=>true),));

在这种情况下,您的控制器可以检查ajax表单.

if(isset($_POST['ajax']) && $_POST['ajax']==='branch-form')
{
   echo CActiveForm::validate($model);
   Yii::app()->end();
}

引用:
http://www.yiiframework.com/wiki/168/create-your-own-validation-rule/

猜你在找的jQuery相关文章