yii에서 레코드를 만드는 동안 내 모델 유효성 검사가 작동하지 않는 이유가 무엇인지 알 수 없습니다. 에는 오류가 표시되지 않습니다. 오류가 표시되지 않는 디스플레이 페이지로 전달되지만 필수 필드 중 하나라도 비어있는 경우 문제가 발생하지만 은 필수 필드가 모두 채워지지 않으므로 레코드를 삽입하지 않습니다.yii에서 레코드를 만들 때 모델 유효성 검사가 작동하지 않음
내 필요성은 동일한 양식의 표시 오류입니다. 즉, 필수 필드가 비어 있으면 유효성 검사가 통과되어서는 안됩니다.
검증 양식을
을 만들 과, 업데이트에 문제없이 문제를 작동하지만 모든 필수 필드가 작성하는 경우 레코드를 삽입합니다. 생성에 대한
모델 규칙
array('name, category, model, brand, description, price', 'required'),
array('pimg', 'file','types'=>'jpg','on'=>'create'),
array('pimg', 'file','types'=>'jpg','on'=>'update', 'allowEmpty'=>true),
컨트롤러를 사용하고 업데이트에 표시
오류가 YII에 의해 기본적으로 검은 색 빨간색하지 ...... 확장으로 인해 그 것이다
$model=new controllername;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['controllername']))
{
$model->attributes=$_POST['controllername'];
$model->pimg=CUploadedFile::getInstance($model,'pimg');
$fileName = $model->pimg;
if($model->save())
$model->pimg->saveAs('images/'.$fileName);
$this->redirect(array('display','id'=>$model->productid));
}
$this->render('create',array(
'model'=>$model,
));
보기
<?php $form=$this->beginWidget('CActiveForm',array(
'id'=>'form_name',
'enableAjaxValidation'=>false,
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->labelEx($model,'name'); ?>
<?php echo $form->textField($model,'name',array('size'=>60,'maxlength'=>60)); ?>
<?php echo $form->error($model,'name'); ?>
<?php echo $form->labelEx($model,'model'); ?>
<?php echo $form->textField($model,'model',array('size'=>30,'maxlength'=>30)); ?>
<?php echo $form->error($model,'model'); ?>
<?php echo $form->labelEx($model,'description'); ?>
<?php echo $form->textField($model,'description',array('size'=>60,'maxlength'=>256)); ?>
<?php echo $form->error($model,'description'); ?>
<?php echo $form->labelEx($model,'pimg'); ?>
<?php echo $form->hiddenField($model,'pimg',array('length'=>222)); ?>
<?php echo $form->fileField($model, 'pimg',array('id'=>'imgInput',)); ?>
<?php echo $form->error($model,'pimg'); ?>
<?php echo $form->labelEx($model,'category'); ?>
<?php echo $form->dropDownList($model,'category',$model->getCat()); ?>
<?php echo $form->error($model,'category'); ?>
<?php echo $form->labelEx($model,'brand'); ?>
<?php echo $form->textField($model,'brand',array('size'=>30,'maxlength'=>30)); ?>
<?php echo $form->error($model,'brand'); ?>
<?php echo $form->labelEx($model,'price'); ?>
<?php echo $form->textField($model,'price'); ?>
<?php echo $form->error($model,'price'); ?>
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
<?php $this->endWidget(); ?>
누군가가 제게 이걸 어떻게 할 수 있는지 말해 주실 수 있습니다. 당신이 페이지를 리디렉션 할 경우 당신에게
array('name, category, model, brand, description, price', 'required'),
array('pimg', 'file','types'=>'jpg','on'=>'insert', 'allowEmpty'=>false),
array('pimg', 'file','types'=>'jpg','on'=>'update', 'allowEmpty'=>true),
보기 코드가 무엇
if
? 업데이트보기와 동일합니까? 여기 쓸 수 있습니까? –보기 및 컨트롤러 코드는 중요한 질문입니다. 당신이 대답을 원한다면 –
지연에 대해 유감스럽게도 내 업데이트가 정확하고보기가 똑같습니다 – hir