【问题标题】:Remove red * in required fields Yiibooster删除必填字段中的红色 * Yiibooster
【发布时间】:2014-02-13 20:35:44
【问题描述】:

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

谢谢

【问题讨论】:

    标签: yii yii-extensions yii-booster


    【解决方案1】:

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

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

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

    span.required {
        display: none;
    }
    

    【讨论】:

      【解决方案2】:

      如果你想轻松实现你想要的,我建议你像下面这样,这是最简单的方法(在我看来):

      只需尝试找到* 选择器(IDCLASS)名称。(使用萤火虫或任何检查器) 然后在您的document.ready() 中执行以下操作:

      $(SELECTOR).remove();
      

      注意事项

      • * 可能是动态创建的
      • 这只是一个建议,您可以找到任何其他可能的方式,例如 CHANGING THE CSS CLASS 以便执行 DISPLAY:NONESOURCE MODIFICATION

      【讨论】:

        【解决方案3】:
        <?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']);
        

        【讨论】:

        • 这是这个问题的最佳答案。
        【解决方案4】:

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

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

        它只会在register 场景中显示Red *(如果您通过$model-&gt;setScenario('register'); 设置它),并且在正常情况下不会显示red *

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

        <?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 *',
                    )
                ); ?>
        

        【讨论】:

          猜你喜欢
          • 2021-01-31
          • 1970-01-01
          • 2014-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多