在 CakePHP 中验证"at least one phone number is required"



这是模型文件vechile_enquiry.php

<?php
    class VechileEnquiry  extends AppModel{
        var $name ='VechileEnquiry';
        var $validate = array('name' => array
                                            ('rule' => 'notEmpty',
                                            'message' => 'Please type name')
                            );
    }
?>

这是视图文件vechile.ctp

<?php
    echo $this->Form->input('name', array('label'=>false));
?>

至少需要一个电话号码:

<?php
    echo $this->Form->input('mobile_phone', array('label'=>false));
    echo $this->Form->input('work_phone', array('label'=>false));
    echo $this->Form->input('home_phone', array('label'=>false));
?>

验证在名称字段中工作,但我不知道如何在CCD_ 3中实现验证,CCD_ 4、CCD_。

这应该为您完成:

    var $validate = array(
    'name' => array(
        'rule' => 'notEmpty',
        'message' => 'Please type name'
    ),
    'mobile_phone' => array(
        'check_phone' => array(
            'rule' => array('hasPhone'),
            'required' => false,
            'allowEmpty' => true,
            'message' => 'At least one phone number is required.'
        )
    ),
    'work_phone' => array(
        'check_phone' => array(
            'rule' => array('hasPhone'),
            'required' => false,
            'allowEmpty' => true,
            'message' => 'At least one phone number is required.'
        )
    ),
    'home_phone' => array(
        'check_phone' => array(
            'rule' => array('hasPhone'),
            'required' => false,
            'allowEmpty' => true,
            'message' => 'At least one phone number is required.'
        )
    )
); 

function hasPhone($field){
    if(!empty($this->data[$this->name]['mobile_phone']) || !empty($this->data[$this->name]['work_phone']) || !empty($this->data[$this->name]['home_phone'])){
        return true;
    } else {
        return false;
    }
}

最新更新