删除所需字段中的红色* Yiibooster

时间:2014-02-13 20:35:45

标签: yii yii-extensions yii-booster

我正在使用yiibooster,它是前端的真正好的扩展,我现在的问题是我想删除在必填字段中呈现的红色*但在模型中维护所需的验证器,任何人都知道如何这样做????

thankss

4 个答案:

答案 0 :(得分:2)

这是由必填字段验证器生成的标签示例:

<label for="User_email" class="required">
    Email Address <span class="required">*</span>
</label>

因此,您可以通过将此类添加到您网站的CSS来隐藏它:

span.required {
    display: none;
}

答案 1 :(得分:1)

如果你想达到你想要的轻松,我建议你这样做,这是最简单的方法(在我看来):

尝试找到*选择器(IDCLASS)名称。(使用firebug或任何检查员) 然后在document.ready()

中执行以下操作
$(SELECTOR).remove();

备注

  • *可能会动态创建
  • 这只是一个建议,您可以CHANGING THE CSS CLASSDISPLAY:NONE
  • 找到SOURCE MODIFICATION之类的任何其他可能方式

答案 2 :(得分:1)

<?php echo $form->textFieldGroup($model, 'username',array('label'=>Yii::t('model','Username'))); ?>

或编辑来自

TbActiveForm.php第1223行
echo $this->labelEx($model, $attribute, $options['labelOptions']);

echo $this->label($model, $attribute, $options['labelOptions']);

答案 3 :(得分:0)

Red *根据您的模型中的验证程序定义添加。你有两个选择。
模型中的第一个On => 'scenario name'添加required validator您想要的属性。所以你可以控制yii-booster组件的行为,因为它们只应用那些匹配模型scenario的规则。例如:

array('password_repeat', 'required', 'on'=>'register'),

它仅在Red *方案中显示register(如果您通过$model->setScenario('register');设置),并且在正常情况下不会显示red *

另一个选项是,当您根据模型中验证程序规则标记为required的属性创建表单元素时,可以阻止*显示但是这种方式不会忽略validation rule,如果您尝试在此表单字段为空时提交表单,您将从yii获得错误(因为您只是解决显示但在后台您有所需的验证器)。对于此方法,您只需在label表单元素中提供yii-booster

<?php echo $form->textFieldGroup($model,'textField',
            array(
                'wrapperHtmlOptions' => array(
                    'class' => 'col-sm-5',
                ),
                'hint' => 'In addition to freeform text, any HTML5 text-based input appears like so.',
         >>>>>  'label' => 'Your new value for label which will have no red *',
            )
        ); ?>