이 글의 예에서는 Yii가 필수 필드의 별표를 제거하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
필수 항목에서 별표를 제거하는 방법은 무엇인가요?
먼저 코드 구현을 분석해 보겠습니다.
public function labelEx($model,$attribute,$htmlOpti { return CHtml::activeLabelEx($model,$attribute,$htmlOptions); } public static function activeLabelEx($model,$attribute,$htmlOpti { $realAttribute=$attribute; self::resolveName($model,$attribute); // strip off square brackets if any $htmlOptions['required']=$model->isAttributeRequired($attribute); return self::activeLabel($model,$realAttribute,$htmlOptions); }
속성이 필요한 경우 추가 CSS 클래스 태그를 렌더링합니다. 특히 CModel::isAttributeRequired를 호출하여 속성이 필요한지 여부를 결정합니다. 그렇다면 CHtml::beforeRequiredLabel(public static $beforeRequiredLabel='';) 및 CHtml::afterRequiredLabel(public static $beforeRequiredLabel='';)을 사용하여 CSS 클래스 CHtml::requiredCss(public static $requiredCss='required';)를 레이블에 추가합니다. static $afterRequiredLabel='*';) 라벨을 장식합니다.
public function isAttributeRequired($attribute) { foreach($this->getValidators($attribute) as $validator) { if($validator instanceof CRequiredValidator) return true; } return false; }
따라서 별표를 제거하거나 다른 것으로 변경하려면 다음에서 CHtml::requiredCss, CHtml::beforeRequiredLabel, CHtml::afterRequiredLabel을 직접 재정의하면 됩니다. view
별표는 이렇게 표시하지 마세요
<?php CHtml::$afterRequiredLabel = '';?> <?php echo $form->labelEx($model,'email'); ?>
이 글이 모든 분들의 Yii 프레임워크 기반 PHP 프로그램 설계에 도움이 되기를 바랍니다.
위 내용은 관련 내용을 포함하여 Yii의 필수 항목에서 별표를 제거하는 방법을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.