Yii: рд╡реИрдзрд╛рдирд┐рдХ рд░реВрдк рд╕реЗ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо (рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдмрджрд▓реЗрдВ

рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рд╡рд┐рд╖рдп рдореЗрдВ, рдореИрдВ рд╡рд╛рдИрдЖрдИрдЖрдИ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдиреБрд╕реНрдЦрд╛ (рдЬреЛ рдЖрдк рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд╢рд╛рдпрдж рдЬрд╛рдирддреЗ рд╣реИрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдлреЙрд░реНрдо рд╡реИрд▓рд┐рдбреЗрд╢рди рдирд┐рдпрдореЛрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдмрд╛рдд рд╣реИ - рдЬрдм рд╕рддреНрдпрд╛рдкрди рдХреЗ рдирд┐рдпрдо рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╕рдВрдж рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд╕реВрдЪреА рдпрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдЪреЗрдХрдмреЙрдХреНрд╕ рд╕реЗ рдореВрд▓реНрдп рдЪреБрдирдХрд░ред

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдиреЗ рдореБрдЭреЗ рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд╕рдВрдкрд░реНрдХ рдХреЗрдВрджреНрд░ рд▓рд┐рдЦрддреЗ рд╕рдордп рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЙрд╕реА рд╕реАрд╕реА рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдиреБрд╕реНрдЦрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХреЗрд╕реА рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдореБрдЦреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИред рдХреЙрд▓ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдСрдкрд░реЗрдЯрд░ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд╛ рдкрд░рд┐рдгрд╛рдо, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯрд┐рдХрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЖрдЧреЗ рдХреЗ рддрд░реНрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдмрд╛рд░-рдмрд╛рд░ рдХреЙрд▓ рдХреА рдирд┐рдпреБрдХреНрддрд┐, рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЯрд┐рдХрдЯ рдмрдВрдж рдХрд░рдирд╛, рдЖрджрд┐)ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреНрд░рдкрддреНрд░ рдлрд╝реАрд▓реНрдб (рдкрдврд╝реЗрдВ - рдореЙрдбрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ) рдХреЛ "рдореВрд▓" рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд░рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рд░рд┐рдХреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ "рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд╛ рдкрд░рд┐рдгрд╛рдо" рдлрд╝реАрд▓реНрдб рдХреЛ рднрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдХреЙрд▓ рдХреА рддрдХрдиреАрдХреА рд╕реНрдерд┐рддрд┐ "рд░реАрдбрд┐рдпрд▓ / рдЕрдорд╛рдиреНрдп рдирдВрдмрд░" рд╣реИ (рддрдХрдиреАрдХреА рд╕реНрдерд┐рддрд┐ рдСрдкрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЙрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдЪрд╛рдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЧреНрд░рд╛рд╣рдХ рдирд╣реАрдВ - рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐, рдЖрджрд┐)ред рдЙрд╕реА рд╕рдордп, рдпрджрд┐ рддрдХрдиреАрдХреА рд╕реНрдерд┐рддрд┐ "рд╕рдлрд▓ рдбрд╛рдпрд▓рд┐рдВрдЧ" рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдлрд╝реАрд▓реНрдб "рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд╛ рдкрд░рд┐рдгрд╛рдо" рдореЗрдВ рднрд░рдирд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рд╕реЗ: рдмрд╛рддрдЪреАрдд рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝реАрд▓реНрдб рднрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдХреЙрд▓рдмреИрдХ рджрд┐рдирд╛рдВрдХ" рдлрд╝реАрд▓реНрдб "рдХреЙрд▓рдмреИрдХ" рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рдеред

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдлреЙрд░реНрдо рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЗ рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдкреВрд░реЗ рдлреЙрд░реНрдо рдХреЗ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рднреА рдмрджрд▓ рдЬрд╛рдПрдВред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЦрджрд╛рди рдЬреИрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред

рддреЛ:
1. рд╣рдо рдХреЙрд▓ рдлреЙрд░реНрдо рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдХрдИ рдкрд░рд┐рджреГрд╢реНрдп рдмрдирд╛рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдмрдирд╛рдПрдВ рдЬреЛ рд╕рднреА рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ:
public function rules(){ //... array('call_status', 'required', 'on'=>'callSubmit, invalidNumberSubmit, validCallSubmit, successCallSubmit...' //... 'message'=>' "{attribute}"    .'), } 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓рд╛ рдирд┐рдпрдо рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рдЙрдард╛рддрд╛ рд╣реИ - рдХреЙрд▓ рдХреА рддрдХрдиреАрдХреА рд╕реНрдерд┐рддрд┐ рдлреЙрд░реНрдо рдореЗрдВ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХрд╛ рдореВрд▓реНрдп рд╣реИ - рдпрд╣ рдХрд┐рд╕реА рднреА рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рд╡рд┐рд╢реЗрд╖ рддрдХ рдЬрд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ:
 //.. Inside rules() method array('talk_status', 'required', 'on'=>'successCallSubmit, secondCall,...') /*   ,        */ 

рдЕрдЧрд▓рд╛, рд╣рдо рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 //.. Inside rules() method array('new_call_date', 'required', 'on'=>'secondCall') /*     " "*/ 


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рд╕реЗ рдЧреБрдЬрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВред рдпрд╣ рдорд╛рдорд▓рд╛ рдЫреЛрдЯрд╛ рд╣реИ: рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рдлрд╛рд░реНрдо рдореЗрдВ рдЪрдпрдирд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрджрд▓рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рдЪреБрдХреЗ рд╣реИрдВ, рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП CActiveForm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдпрд╣ рд╡рд┐рдЬреЗрдЯ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдЕрдЬрд╛рдХреНрд╕ рд╕рддреНрдпрд╛рдкрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЖрдЗрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдлрд╝реЙрд░реНрдо рдмрдирд╛рдПрдБ:

  <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'call-submit-form', 'enableAjaxValidation'=>true, 'clientOptions'=>array( 'validateOnChange'=>true, 'validateOnSubmit'=>true ), //   )); ?> 


рдЬрд┐рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП: 'enableAjaxValidation', 'validateOnChange', 'validateOnSubmit'ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рдЙрдард╛рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдирд╛рдореЛрдВ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╣рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА:

 <div class='control-group'> <?php echo $form->labelEx($model,'call_status'); ?> <?php echo $form->dropDownList($model,'call_status', CHtml::listData( CallStatuses::model()->findAll(),'id','title' ) ); ?> <?php echo $form->labelEx($model,'talk_status'); ?> <?php echo $form->dropDownList($model,'talk_status', CHtml::listData(TalkStatuses::model()->findAll(),'id','title' ), )); ?> <?php echo $form->error($model,'call_status'); ?> <?php echo $form->error($model,'talk_status'); ?> </div> <div class='control-group'> <?php echo $form->label($model,'new_call_date'); ?> <?php //     $this->widget('zii.widgets.jui.CJuiDatePicker', array( 'attribute'=>'new_call_date', 'model'=>$model, //... ), )); ?> </div> 


рдореИрдВ рдЖрдкрдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝реАрд▓реНрдбреНрд╕ рд╕реЗ рдмреЛрд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреАрди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рддреЗ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ (рдкрдврд╝реЗрдВ - рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реНрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ: рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реАрд▓реНрдб рдорд╛рди рдХреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЗрд╕ рдорд╛рди рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рдж рдлрд╝реЙрд░реНрдо рдХреЛ рдорд╛рдиреНрдп рдХрд░реЗрдЧрд╛ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм CActiveForm :: dropDadList () рд╡рд┐рдзрд┐) рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╕реВрдЪреА рд╕реЗ рдПрдХ рдорд╛рди рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдФрд░ рдореИрдВ рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдУрдУрдкреА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рдКрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдЪрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЙрдЪрд┐рдд рдХреЛрдб рдХреЛ рд╕реАрдзреЗ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ рдХреЗ performAjaxValidation () рд╡рд┐рдзрд┐ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ред рдиреАрдЪреЗ рдорд╛рдирдХ PerformAjaxValidation () рд╡рд┐рдзрд┐ рдФрд░ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 //Inside controller public function actionSaveCall(){ /*     'callSubmit',       - 'call_status' -   . */ $model=new Calls('callSubmit'); $this->performCallAjaxValidation($model); if( isset($_POST['Calls']) ) { $model->attributes = $_POST['Calls']; if( $model->save() ) $this->redirect( Yii::app()->user->returnUrl ); } } protected function performAjaxValidation($model) { if(isset($_POST['ajax']) && $_POST['ajax']==='calls-form') { $callStatusesScenarios = array( Calls::CALL_FAIL=>'validCallSubmit', Calls::SUCCESS_CALL=>'successCallSubmit', Calls::WRONG_NUMBER=>'invalidNumberSubmit'); if( !empty($_POST['Calls']['call_status']) && !empty( $callStatusesScenarios[ $_POST['Calls']['call_status'] ] ) ){ $model->setScenario ( $callStatusesScenarios[ $_POST['Calls']['call_status'] ] ); } echo CActiveForm::validate($model); Yii::app()->end(); } } 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХреЛрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдХреЗрд╡рд▓ 'call_status' рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рд╣реИред рдЕрдм, рдпрджрд┐ рдСрдкрд░реЗрдЯрд░ рдкреНрд░рдкрддреНрд░ рдореЗрдВ "рд╕рдлрд▓ рдбрд╛рдпрд▓рд░" рдбрд╛рдпрд▓рд░ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рджреМрд░рд╛рди рдореЙрдбрд▓ рдкрд░рд┐рджреГрд╢реНрдп 'рд╕рдХреНрд╕реЗрд╕рдХреЙрд▓рд╕реБрдмрдорд┐рдЯ' рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдм рдлреЙрд░реНрдо рд╕реЗ рдмрд╛рддрдЪреАрдд рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ - рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, "рд╕рдлрд▓ рдбрд╛рдпрд▓рд░" рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ, рдСрдкрд░реЗрдЯрд░ рдЕрдм рдлреЙрд░реНрдо рд╕рдмрдорд┐рдЯ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛ред рдЬрдм рддрдХ рдпрд╣ рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рдкрд░рд┐рдгрд╛рдо рдлрд╝реАрд▓реНрдб рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдпрджрд┐ рдбрд╛рдпрд▓рд░ рдХреА рд╕реНрдерд┐рддрд┐ "рдЧрд▓рдд рд╕рдВрдЦреНрдпрд╛" рд╣реИ, рддреЛ рдлреЙрд░реНрдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рд╣реА рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдЖрдЧреЗ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдмрд╛рддрдЪреАрдд рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЙрдирдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖реЗрддреНрд░ рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд╕рд╛рдеред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдкреНрд░рдХрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╕рдВрдж рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛрдВрдЧреЗред рдореИрдВ рдЫреЛрдЯреА рд╕рдЬрд╝рд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБ, рдФрд░ рдореИрдВ рдЖрдкрдХреЛ рдЕрджреНрднреБрдд Yii рдврд╛рдВрдЪреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕рдлрд▓рддрд╛ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдБред

Source: https://habr.com/ru/post/In146589/


All Articles