ホームページ  >  記事  >  バックエンド開発  >  yii の必須フィールドのアスタリスクを削除する方法

yii の必須フィールドのアスタリスクを削除する方法

WBOY
WBOYオリジナル
2016-07-29 09:08:391297ブラウズ

この記事の例では、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 チュートリアルに興味のある友人の役に立てば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。