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

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

不言
Libérer: 2023-04-01 10:24:02
original
1632 Les gens l'ont consulté

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);
}
Copier après la connexion

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;
}
Copier après la connexion

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;); ?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal