Php 自定义CFormModel的Yii验证规则不起作用

Php 自定义CFormModel的Yii验证规则不起作用,php,yii,validationrules,Php,Yii,Validationrules,我有一个cformmodel: <?php class CombinationForm extends CFormModel { public $a; public $b; public $c; public $d; public $e; public $f; public function rules() { return array( array('a, b, c, d, e, f',

我有一个
cformmodel

<?php

class CombinationForm extends CFormModel {

    public $a;
    public $b;
    public $c;
    public $d;
    public $e;
    public $f;

    public function rules() {
        return array(
            array('a, b, c, d, e, f', 'required'),
            array('a, b, c, d, e, f', 'numerical', 'integerOnly' => true),
        );
    }

}

您需要在



你能更详细地解释一下你想做什么吗?看起来您有一大堆变量试图确保它们是整数?如果将
enableAjaxValidation
设置为
false
,您怎么能期望表单通过AJAX进行验证?我没有看到这一点。10倍
    public function actionIndex() {
        $model_combination_form = new CombinationForm();
        $this->performAjaxValidation($model_combination_form);
        if (isset($_POST['CombinationForm'])) {
//            echo '<pre>';
//            print_r($_POST['CombinationForm']);
//            echo '</pre>';
        }
        $this->render('combination_form', array(
            'model_combination_form' => $model_combination_form,
        ));
    }
<div style="position:relative;float:left;">

    <?php
    $form = $this->beginWidget('CActiveForm', array(
        'id' => 'combination-form',
        'enableAjaxValidation' => false,
    ));
    ?>

    <?php echo $form->errorSummary($model_combination_form); ?>

    <div style="float:left;padding:5px 5px;">
        <?php echo $form->textField($model_combination_form, 'a', array('style' => 'width:20px;')); ?>
    </div>

    <div style="float:left;padding:5px 5px;">
        <?php echo $form->textField($model_combination_form, 'b', array('style' => 'width:20px;')); ?>
    </div>

    <div style="float:left;padding:5px 5px;">
        <?php echo $form->textField($model_combination_form, 'c', array('style' => 'width:20px;')); ?>
    </div>

    <div style="float:left;padding:5px 5px;">
        <?php echo $form->textField($model_combination_form, 'd', array('style' => 'width:20px;')); ?>
    </div>

    <div style="float:left;padding:5px 5px;">
        <?php echo $form->textField($model_combination_form, 'e', array('style' => 'width:20px;')); ?>
    </div>

    <div style="float:left;padding:5px 5px;">
        <?php echo $form->textField($model_combination_form, 'f', array('style' => 'width:20px;')); ?>
    </div>

    <div style="float:left;padding:5px 5px;">
        <?php echo CHtml::submitButton('Genereaza'); ?>
    </div>

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

</div>
<div style="clear:both;"></div>
<div style="position:relative;float:left;">

<?php
$form = $this->beginWidget('CActiveForm', array(
    'id' => 'combination-form',
    'enableAjaxValidation' => true,
    'clientOptions=>array(
         //validation when submitting form, if validation don't perform, form will not send
        'validateOnSubmit'=>true,
    )
));
?>

<?php echo $form->errorSummary($model_combination_form); ?>

<div style="float:left;padding:5px 5px;">
    <?php echo $form->textField($model_combination_form, 'a', array('style' => 'width:20px;')); ?>
</div>

<div style="float:left;padding:5px 5px;">
    <?php echo $form->textField($model_combination_form, 'b', array('style' => 'width:20px;')); ?>
</div>

<div style="float:left;padding:5px 5px;">
    <?php echo $form->textField($model_combination_form, 'c', array('style' => 'width:20px;')); ?>
</div>

<div style="float:left;padding:5px 5px;">
    <?php echo $form->textField($model_combination_form, 'd', array('style' => 'width:20px;')); ?>
</div>

<div style="float:left;padding:5px 5px;">
    <?php echo $form->textField($model_combination_form, 'e', array('style' => 'width:20px;')); ?>
</div>

<div style="float:left;padding:5px 5px;">
    <?php echo $form->textField($model_combination_form, 'f', array('style' => 'width:20px;')); ?>
</div>

<div style="float:left;padding:5px 5px;">
    <?php echo CHtml::submitButton('Genereaza'); ?>
</div>

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