2010-10-21 4 views
0

В форме регистрации поле middleName необязательно. Когда пользователи вводят свое/ее среднее имя, он должен проверить это поле.Проверка jquery - необязательное поле

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

$("#middleName").rules("add", {checkName: true, required: false, messages: {checkName: "Please enter a valid middle name"} }); 

jQuery.validator.addMethod("checkName", 
     function(value, element) { 
      var regExp = new RegExp(/^[a-zA-Z0-9\s|\,|\.|\-|\']+$/); 
      return regExp.test(value); 
     }, 
     "Please enter a valid name." 
); 

Может кто-нибудь предложить мне достичь вышеуказанного сценария.

ответ

6

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

jQuery.validator.addMethod("checkName", function(value, element) { 
    var regExp = new RegExp(/^[a-zA-Z0-9\s|\,|\.|\-|\']+$/); 
    return this.optional(element) || regExp.test(value); 
}, "Please enter a valid name."); 

You можно увидеть примеры, подобные этому в библиотеке валидации additional methods file, в качестве ссылки, в основном это ju st добавляет здравый смысл/«мне даже требуется?» проверьте результат.

-1

Я хотел бы сделать что-то вроде этого:

jQuery("#middlename").bind("KeyUp").function(validateMiddleName()); 

, а затем

function validateMiddleName() 
{ 
    if (jQuery("#middlename")) 
    { 
     //Do the validation 
    } 
} 
+0

Я не уверен, что синтаксис 100 %, Но ты получил идею. – femseks

0

Вот ответ.

Вы можете использовать это двумя способами. Когда вы хотите, чтобы это было как необязательное поле, скажите «checkName: optional».

$("#middleName").rules("add", {checkName: 'opt', messages: {checkName: "Please enter a valid middle name"} }); 

Если вы хотите, как нужное поле, то сказать checkName: 'true'

$("#middleName").rules("add", {checkName: true, messages: {checkName: "Please enter a valid middle name"} }); 

и ваши правила будут

jQuery.validator.addMethod("checkName", function(value, element, param) { 
    var regExp = new RegExp(/^[a-zA-Z0-9\s|\,|\.|\-|\']+$/); 
    if(param == 'opt'){ 
     return this.optional(element) || regExp.test(value); 
    }else{ 
     return regExp.test(value); 
    } 
}, "Please enter a valid name."); 

удачи

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