首頁 >後端開發 >php教程 >如何用yii去除必填項中的星號

如何用yii去除必填項中的星號

不言
不言原創
2018-06-15 14:25:331602瀏覽

這篇文章主要介紹了yii去掉必填項中星號的方法,實例分析了Yii中去除必填項中星號的原理與具體實現技巧,需要的朋友可以參考下

本文實例講述了yii去掉必填項中星號的方法。分享給大家供大家參考,具體如下:

如何去掉必填項裡的星號呢?

先分析下程式碼實作:

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);
}

當屬性是必填的時候,它將渲染額外的CSS類別個標記。特別的,它呼叫CModel::isAttributeRequired來決定屬性是否為必填的。如果是,它將添加一個CSS類別CHtml::requiredCss (public static $requiredCss='required';)到標籤上,用CHtml::beforeRequiredLabel(public static $beforeRequiredLabel='';)和CHtml::afterRequire(public static $beforeRequiredLabel='';)和CHtml::afterRequire static $afterRequiredLabel='*';)來裝飾標籤。

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

所以要去掉星號或換成別的可以再view直接重新定義CHtml::requiredCss、CHtml::beforeRequiredLabel、CHtml::afterRequiredLabel即可

不顯示星號就可這樣

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

#以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!

相關推薦:

YII如何使用url元件美化管理

關於YII關聯查詢的解析

#

以上是如何用yii去除必填項中的星號的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn