2014-02-13 8 views
0

Я использую yiibooster, и это действительно хорошее расширение для интерфейса, теперь мои проблемы состоят в том, что я хочу удалить красный *, который отображается в обязательных полях, но поддерживая требуемый валидатор в модель, кто-нибудь знает, как это сделать ????Удалить красные * в обязательных полях Yiibooster

thankss

ответ

1

Если вы хотите, чтобы достичь того, чего вы хотите легко, я предлагаю вам сделать, как показано ниже, что является простым способом (на мой взгляд, точки):

Просто попробуйте найти * селектор . (ID или CLASS) имя (с использованием поджигатель или любой инспектор) Тогда просто сделать, как показано ниже в вашем document.ready():

$(SELECTOR).remove(); 

ПРИМЕЧАНИЯ

  • THE * МОЖЕТ БЫТЬ СОЗДАНО ДИНАМИЧЕСКИ
  • это просто SUGGESTION, вы можете найти другие возможные способы, такие как CHANGING THE CSS CLASS того, чтобы сделать DISPLAY:NONE ИЛИ SOURCE MODIFICATION
1

Это пример метки, сгенерированной обязательным полем проверки достоверности:

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

Таким образом, вы можете скрыть его, добавив этот класс CSS вашего сайта:

span.required { 
    display: none; 
} 
1
<?php echo $form->textFieldGroup($model, 'username',array('label'=>Yii::t('model','Username'))); ?> 

или редактировать линии 1223 из TbActiveForm.php из

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

к

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

Это лучший ответ на этот вопрос. –

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

 Смежные вопросы

  • Нет связанных вопросов^_^