2015-03-23 2 views
0

Как избежать проверки jquery css на поле. У меня выпадающее меню. Если проверка не выполнена. выпадающий цвет текста также меняется на красный. Как этого избежать? а также сообщение об ошибке проверки отображаются в поле. предположим, что рядом с полем.jquery validation css изменение, действующее поле тоже?

enter image description here

class 
    .validationError { 
     color: #ff0000; 
    } 


<select class="form-control validationError" data-val="true" data-val-required="The CommunicationLocation field is required." id="CommunicationLocation" name="CommunicationLocation" aria-required="true" aria-invalid="true"> 
<option value="">Select</option> 
<option value="HOME">Personal</option> 
<option value="WORK">Work/University</option> 
</select> 
<label id="CommunicationLocation-error" class="validationError" for="CommunicationLocation">Required</label> 

сценарий

$.validator.addMethod("selectNone", 
     function (value, element) { 
      alert(value); 
      if (value == 'Select') 
       return false; 
      else 
       return true; 
    }); 
$("#frmEmail").validate({ 
    rules: { 
     CommunicationLocation: { 
      required: true 
     } 

    }, 
    messages: { 
     CommunicationLocation: { 
      required: "Required" 
     } 
    }, 
    errorClass:"validationError", 
+1

Изменить правило CSS от '' .validationError' к label.validationError' – j08691

+0

вам нужно удалить класс ошибки '.removeClass ('ошибка');' – gon250

+0

@ gon250, зачем ему это делать? – Sparky

ответ

1
  1. According to your HTML, the <label> element will be on the right side of the <select> element. В приведенном нами JavaScript или HTML ничего нет, что могло бы показаться под ним. ОДНАКО, если ваш родительский контейнер недостаточно широк, то это содержимое автоматически переносится на следующую строку. Вам нужно будет осмотреть свой DOM и исправить ширину соответствующего родительского контейнера, чтобы отображались боковые стороны <select> и <label>. В противном случае вам нужно будет показать нам фактический код, который вызывает эту проблему.

  2. Если вы не хотите, чтобы элемент ввода использовал те же свойства CSS, что и контейнер сообщений об ошибках, ваша цель CSS должна быть более конкретной. Используйте label.validationError, чтобы указать только label, содержащий сообщение об ошибке.

    label.validationError { 
        color: #ff0000; 
    } 
    

DEMO: http://jsfiddle.net/afeag0sy/

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