Maison  >  Article  >  développement back-end  >  Comment supprimer les astérisques dans les champs obligatoires en utilisant yii

Comment supprimer les astérisques dans les champs obligatoires en utilisant yii

不言
不言original
2018-06-15 14:25:331522parcourir

Cet article présente principalement la méthode de suppression des astérisques dans les champs obligatoires dans Yii. Il analyse les principes et les techniques spécifiques de mise en œuvre de la suppression des astérisques dans les champs obligatoires dans Yii.

L'exemple. dans cet article décrit la méthode de Yii pour supprimer les astérisques dans les champs obligatoires. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Comment supprimer les astérisques dans les champs obligatoires ?

Analysez d'abord l'implémentation du code :

public function labelEx($model,$attribute,$htmlOptions=array())
{
  return CHtml::activeLabelEx($model,$attribute,$htmlOptions);
}
public static function activeLabelEx($model,$attribute,$htmlOptions=array())
{
  $realAttribute=$attribute;
  self::resolveName($model,$attribute); // strip off square brackets if any
  $htmlOptions['required']=$model->isAttributeRequired($attribute);
  return self::activeLabel($model,$realAttribute,$htmlOptions);
}

Lorsque l'attribut est requis, il affichera des balises de classe CSS supplémentaires. Plus précisément, il appelle CModel::isAttributeRequired pour déterminer si l'attribut est requis. Si tel est le cas, il ajoutera une classe CSS CHtml::requiredCss (public static $requiredCss='required';) à l'étiquette, avec CHtml::beforeRequiredLabel (public static $beforeRequiredLabel='';) et CHtml::afterRequiredLabel (public static $beforeRequiredLabel='';) static $afterRequiredLabel='*';) pour décorer l'étiquette.

public function isAttributeRequired($attribute)
{
  foreach($this->getValidators($attribute) as $validator)
  {
    if($validator instanceof CRequiredValidator) return true;
  }
  return false;
}

Donc, si vous souhaitez supprimer l'astérisque ou le remplacer par autre chose, vous pouvez directement redéfinir CHtml::requiredCss, CHtml::beforeRequiredLabel, CHtml en vue : :afterRequiredLabel

N'affichez simplement pas l'astérisque comme ceci

<?php CHtml::$afterRequiredLabel = &#39;&#39;;?>
<?php echo $form->labelEx($model,&#39;email&#39;); ?>

Ce qui précède C'est tout le contenu de cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment YII utilise les composants d'URL pour embellir la gestion

Analyse des requêtes liées à YII

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn