我正在使用yiibooster,它是前端的真正好的扩展,我现在的问题是我想删除在必填字段中呈现的红色*但在模型中维护所需的验证器,任何人都知道如何这样做????
thankss
答案 0 :(得分:2)
这是由必填字段验证器生成的标签示例:
<label for="User_email" class="required">
Email Address <span class="required">*</span>
</label>
因此,您可以通过将此类添加到您网站的CSS来隐藏它:
span.required {
display: none;
}
答案 1 :(得分:1)
如果你想达到你想要的轻松,我建议你这样做,这是最简单的方法(在我看来):
尝试找到*
选择器(ID
或CLASS
)名称。(使用firebug或任何检查员)
然后在document.ready()
:
$(SELECTOR).remove();
备注强>
*
可能会动态创建CHANGING THE CSS CLASS
或DISPLAY: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 *',
)
); ?>