Привет, у меня есть Model
и модель permisssion
. В пользовательской форме есть 2 поля надзора и города. В таблице разрешений i установите 1 для required
и 0 для необязательных.Проверка Yii во время выполнения?
как
Permission table
user_role supervisor city
1 1 1
2 1 0
3 0 0
Теперь я хочу, когда я выбираю роль в пользователе формирует город и супервизор если 1, то необходимые правила устанавливают активными для этого USER_ROLE
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'lms-user-form',
'enableAjaxValidation'=>true,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'user_role'); ?>
<?php echo $form->drodownList($model,'user_role',array(); ?>
<?php echo $form->error($model,'user_role'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'user_first_name'); ?>
<?php echo $form->textField($model,'user_first_name',array('size'=>40,'maxlength'=>40)); ?>
<?php echo $form->error($model,'user_first_name'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'user_last_name'); ?>
<?php echo $form->textField($model,'user_last_name',array('size'=>40,'maxlength'=>40)); ?>
<?php echo $form->error($model,'user_last_name'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'user_password'); ?>
<?php echo $form->textField($model,'user_password',array('size'=>40,'maxlength'=>40)); ?>
<?php echo $form->error($model,'user_password'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'user_city'); ?>
<?php echo $form->textField($model,'user_city',array('size'=>10,'maxlength'=>10)); ?>
<?php echo $form->error($model,'user_city'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'user_supervisor'); ?>
<?php echo $form->textField($model,'user_supervisor',array('size'=>10,'maxlength'=>10)); ?>
<?php echo $form->error($model,'user_supervisor'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
я использовал что-то вроде этого, но это не работает
$permiss = Permission::model->findByAttributes(array('user_role'=>$model=>user_role));
if($permiss->user_city && $permiss->user_supervisor){
$model->rules(array('user_city','user_supervisor','required'));
}
elseif($permiss->user_city)
{
$model->rules(array('user_city','required'));
}
elseif($permiss->user_supervisor)
{
$model->rules(array('user_supervisor','required'));
}
Я знаю о addError
, но я хочу ajax validation