繁体   English   中英

在依赖字段上的Cakephp自定义验证

[英]Cakephp custom validation on dependent fields

我需要在我的模型中进行自定义验证,其中一个字段不能重复,而两个字段将区分它,例如组合键。 就像下面。

    public $validate = array(
    'field1' => array(
        'required' => array(
            'rule' => 'notEmpty',
            'message' => 'Can\'t left blank.'
        ),
        'unique' => array(
            'rule' => array('validateNumberType'),
            'message' => 'Already exist'
        ),
        )
    );
    function validationRule() {
    $validation_var = $this->find('first', array('conditions' => array('Model.field1' => 'field1', 'Model.field2' => 'field2')));
    return $validation_var;
}

我试过了,但是没用,功能可能不正确吗?

var $validate = array(
   'slug' => array(
        'rule' => 'validationRule',
        'message' => 'error message'
    )
);
function validationRule($check) {
    //validation
    //$check is value of the field
    //$this->data is value of whole submited form

    // return true if validate, false either
}

在规则中定义的函数名称更改为validateNumberType ,例如:

public $validate = array(
    'field1' => array(
        'required' => array(
            'rule' => 'notEmpty',
            'message' => 'Can\'t left blank.'
        ),
        'unique' => array(
            'rule' => array('validateNumberType'),
            'message' => 'Already exist'
        ),
        )
    );
    function validateNumberType() {
    $validation_var = $this->find('first', array('conditions' => array('Model.field1' => 'field1', 'Model.field2' => 'field2')));
    return $validation_var;
}

例如,请参见此处: 依赖类型的验证

var $validate = array(
'slug' => array(
'rule' => 'validationRule',
'message' => 'error message'
)
);
function validationRule($check) {
//validation
//$check is value of the field
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM