我正在使用 yiibooster,它确实是前端的一个很好的扩展,我现在的问题是我想删除在必填字段中呈现的红色 *,但在模型中维护所需的验证器,有人知道该怎么做吗? ???
谢谢
我正在使用 yiibooster,它确实是前端的一个很好的扩展,我现在的问题是我想删除在必填字段中呈现的红色 *,但在模型中维护所需的验证器,有人知道该怎么做吗? ???
谢谢
这是由必填字段验证器生成的标签示例:
<label for="User_email" class="required">
Email Address <span class="required">*</span>
</label>
因此,您可以通过将此类添加到您网站的 CSS 中来隐藏它:
span.required {
display: none;
}
如果你想轻松实现你想要的,我建议你这样做,这是最简单的方法(在我看来):
只需尝试找到*
选择器(ID
或CLASS
)名称。(使用萤火虫或任何检查器)然后在你的下面做document.ready()
:
$(SELECTOR).remove();
笔记
*
创建CHANGING THE CSS CLASS
做DISPLAY:NONE
或SOURCE MODIFICATION
<?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']);
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 *',
)
); ?>