zoukankan      html  css  js  c++  java
  • 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::afterRequiredLabel (public 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 = '';?>

    <?php echo $form->labelEx($model,'email'); ?>

  • 相关阅读:
    选择排序
    冒泡排序
    博彦科技面试题笔试题
    智力面试题
    NET中Application,Session,Cookie,ViewState,Cache,Hidden 缓存机制 .
    asp.net/html清理页面缓存的方法
    设置easyui input默认值
    EasyUI分页索引不能输入非数字
    EasyUI Field
    Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)
  • 原文地址:https://www.cnblogs.com/xiongsd/p/3054821.html
Copyright © 2011-2022 走看看