JQuery Проверяет несколько полей с одной ошибкой

Вы на самом деле не храните глобальное в локальной переменной, просто создав локальную ссылку к тому же объекту, к которому относится Ваша исходная глобальная ссылка. Помните, что в значительной степени все в Python - имя, относящееся к объекту, и ничто не копируется в обычной операции.

, Если Вы не должны были явно указывать, когда идентификатор состоял в том, чтобы относиться к предопределенному глобальному, затем необходимо будет, по-видимому, явно указать, когда идентификатор является новой локальной переменной вместо этого (например, с чем-то как команда 'var', замеченная в JavaScript). Так как локальные переменные более распространены, чем глобальные переменные в любой серьезной и нетривиальной системе, система Python имеет больше смысла в большинстве случаев.

Вы могли иметь язык, который попытался предположить, с помощью глобальной переменной, если это существовало или создание локальной переменной, если это не сделало. Однако это было бы очень подвержено ошибкам. Например, импорт другого модуля мог непреднамеренно представить глобальную переменную тем именем, изменив поведение Вашей программы.

55
задан Starx 21 August 2010 в 20:18
поделиться

3 ответа

Пара вариантов: проверьте errorContainer . Вы можете поместить все ошибки в отдельный

. Или вы можете проверить недопустимый блок и просто использовать команду errorMessage.show () .

0
ответ дан 7 November 2019 в 07:26
поделиться

Вы можете использовать опцию группирования для группирования входов. Если на каждом из входов есть сообщение об ошибке, будет отображаться только один.

Возможно, вы захотите переопределить сообщения, связанные с каждым из полей, чтобы они имели больше смысла. Например, по умолчанию вы можете получить сообщение об ошибке типа «Это поле обязательно». Что ж, это не очень хорошо для пользователя, когда есть три входа. Вероятно, вы захотите изменить сообщение, указав «Требуется местный номер». В этом примере я просто перекрыл все сообщения об ошибках с помощью «Пожалуйста, введите действительный номер телефона».

<input type="text" name="countryCode" />
<input type="text" name="areaCode" />
<input type="text" name="localNumber" />

groups: {
  phoneNumber: "countryCode areaCode localNumber"
},
rules: {
  'countryCode': {
    required: true,
    minlength:3,
    maxlength:3,
    number:true
  },
  'contactInformation[areaCode]': {
    required: true,
    minlength:3,
    maxlength:3,
    number:true
  },
  'contactInformation[localNumber]': {
    required: true,
    minlength:4,
    maxlength:4,
    number:true
  },
},
messages: {
  "countryCode": {
    required: "Please enter a valid Phone Number",
    minlength: "Please enter a valid Phone Number",
    maxlength: "Please enter a valid Phone Number",
    number: "Please enter a valid Phone Number"
  },
  "areaCode": {
    required: "Please enter a valid Phone Number",
    minlength: "Please enter a valid Phone Number",
    maxlength: "Please enter a valid Phone Number",
    number: "Please enter a valid Phone Number"
  },
  "localNumber": {
    required: "Please enter a valid Phone Number",
    minlength: "Please enter a valid Phone Number",
    maxlength: "Please enter a valid Phone Number",
    number: "Please enter a valid Phone Number"
  }
},
13
ответ дан 7 November 2019 в 07:26
поделиться

Этот код отобразит одну общую ошибку, если какое-либо из обязательных полей будет пустым.

<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>  
  <script>
$(document).ready(function(){
  $("#myform").validate({
    invalidHandler: function(form, validator) {
      var errors = validator.numberOfInvalids();
      if (errors) {
        var message ='You missed ' + errors + ' fields.';
        $("#messageBox").html(message);
        $("#messageBox").show();
      } else {
        $("#messageBox").hide();
      }
    },
    showErrors: function(errorMap, errorList) {

    },
    submitHandler: function() { alert("Submit!") }
 })
});  
</script>

</head>
<body>
  <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<div id="messageBox"></div> 
<ul id="errorlist"></ul>
 <form id="myform" action="/loginurl" method="post"> 
   <label>DOB1</label> 
   <input name="dob1" class="required" /> 
   <label>DOB2</label> 
   <input name="dob2" class="required" /> 
   <label>DOB3</label> 
   <input name="dob3" class="required" />
   <br/>
   <input type="submit" value="Submit"/>
 </form>
</body>
</html>
1
ответ дан 7 November 2019 в 07:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: