Проверка JQuery не работает - PullRequest
2 голосов
/ 20 мая 2011

У меня есть одна форма, в которой один тип ввода, значение которого «Имя». Но это можно изменить в функции onfocus. Я хочу проверить это поле ввода, если оно пустое или «Имя»

У меня есть два файла jQuery jquery-1.4.2.min.js & jquery.validate.pack.js.

У меня есть другой файл jQuery для этой формы:

jQuery(document).ready(function() {
    jQuery("#frmRegister").validate({
        errorElement:'div',
        rules: {
            Fname:{
                required:true,
                minlength: 2,
                maxlength:30            
            }
        },
        messages: {
            Fname:{
                required: "Please enter first name",
                minlength: "Required minimum 2 characters allowed",
                maxlength: "Required maximum 30 characters allowed"
            }
    });
    jQuery("#msg").fadeOut(5000);
});

В этом файле required:true работает, если значение пустое, но по умолчанию установлено значение «Имя», поэтому оно не работает. Мне нужны оба параметра, если оно пустое или «Имя».

<form name="frmRegister" id="frmRegister" method="post">
    <ul class="reset ovfl-hidden join">
        <li class="fall">
            <label for="Fname">Full Name:</label>
            <div class="fl">
                <input type="text" class="form" id="Fname" name="Fname" value="First Name" onfocus="if(this.value=='First Name')this.value='';" onblur="if(this.value=='')this.value='First Name';" />
            </div>
        </li>
    </ul>
</form>

Пожалуйста, ответьте как можно раньше.

Спасибо.

Ответы [ 4 ]

0 голосов
/ 20 мая 2011

Вы пробовали добавить пользовательскую проверку]

jQuery.validator.addMethod("workPublicserviceDate",
    function(value, element) {

    var hint = '<?php echo $dateHint; ?>';
    var format = '<?php echo $format; ?>';
    var pubService = strToDate($('#txtAPS').val(), format)
    var dateAssume = strToDate($('#txtAssumeDate').val(), format);

    if (pubService && dateAssume && (pubService > dateAssume)) {
        return false;
    }
        return true;
    }, ""
);

Пожалуйста, обратите внимание, я добавил пример

$("#frmEmpJobDetails").validate({
                   rules: {
txtAPS: { workPublicserviceDate: function(){ return ['<?php echo $dateHint; ?>','<?php echo $format; ?>']}, required:true  },
}
 messages: {
txtAPS : { workPublicserviceDate: '<?php echo __("Invalid date."); ?>',
}
0 голосов
/ 20 мая 2011

Вы должны создать пользовательские правила проверки для таких случаев, как описано здесь: jquery.validation - как игнорировать значения по умолчанию при проверке обязательных полей

0 голосов
/ 20 мая 2011

это мой код, он работает правильно: попробуйте это

$().ready(function() {
$("#form2").validate();
// validate signup form on keyup and submit
 $("#form1").validate({
  rules: {
 userid: "required",
 username: {
  required: true,
  minlength: 2
},
 password: {
    required: true,
    minlength: 5
},
authority: {
      required: true
   },
 emailid: {
  required: true,
  email: true
   }
},
    messages: {
     userid: "Please enter your user Id",
     username: {
      required: "Please enter a username",
      minlength: "Your username must consist of at least 2 characters"
       },
     password: {
        required: "Please provide a password",
        minlength: "Your password must be at least 5 characters long"
        },
      emailid: "Please enter a valid email address",
      authority:"Please select Authority"
       },
   }

 });
0 голосов
/ 20 мая 2011

Вы можете использовать необходимое правило с обратным вызовом и проверить на равенство с именем перед возвратом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...