この記事の例では、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 を呼び出して、属性が必須かどうかを判断します。その場合、CSS クラス CHtml::requiredCss (public static $requiredCss='required';) がラベルに追加され、CHtml::beforeRequiredLabel (public static $beforeRequiredLabel='';) および CHtml::afterRequiredLabel (public 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 を直接再定義できます
アスタリスクを表示しないでください。この記事が、Yii フレームワークに基づいた PHP プログラムの設計に役立つことを願っています。
上記は、Yii の必須フィールドのアスタリスクを削除する方法を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人の役に立てば幸いです。