2010-03-19 11 views
18

मैं से http://bassistance.de/jquery-plugins/jquery-plugin-validation/jQuery प्लगइन मान्य करें: केवल अक्षरों को स्वीकार करें?

सत्यापित करें प्लगइन का उपयोग कर रहा क्या मैं खोजने की कोशिश कर रहा हूँ मेरी प्रपत्र फ़ील्ड्स के कुछ पत्र स्वीकार करते हैं बनाने के लिए एक रास्ता है ही नहीं, कोई संख्या, विशेष वर्ण आदि ...

कोई विचार लोग? बहुत बहुत धन्यवाद।

उत्तर

36

बस एक कस्टम सत्यापनकर्ता जोड़ सकते हैं और इसका इस्तेमाल इस तरह:

jQuery.validator.addMethod("accept", function(value, element, param) { 
    return value.match(new RegExp("." + param + "$")); 
}); 

केवल संख्याओं:

rules: { 
    field: { accept: "[0-9]+" } 
} 

केवल अक्षर

rules: { 
    field: { accept: "[a-zA-Z]+" } 
} 
+0

स्वीकार फ़ाइल एक्सटेंशन को सत्यापित करने के लिए एक मूल विधि है। http://docs.jquery.com/Plugins/Validation/Methods/accept#extension –

+2

'' '' '' '' 'नहीं होना चाहिए? –

+0

वैसे, नया नियम बनाने से अनावश्यक है के बाद से प्लगइन पहले से ही एक नियम '[' अतिरिक्त-methods.js' फ़ाइल] का हिस्सा (https://cdnjs.cloudflare.com/ajax/libs रूप lettersonly' कहा जाता है /jquery-validate/1.15.0/additional-methods.js)। – Sparky

18

एक छोटा सा परिवर्तन।

jQuery.validator.addMethod("accept", function(value, element, param) { 
    return value.match(new RegExp("^" + param + "$")); 
}); 

क्योंकि वह जिस तरह से यह "#abc" की तरह भाव को स्वीकार किया गया था।

0

इस तरह का प्रयास करें: अपनी स्क्रिप्ट में कोड नीचे

 var numbers = /[0-9]+/; 
     var SpCharacters = /^\s*[a-zA-Z0-9\s]+\s*$/; 

     if (!numbers.test(name) && !SpCharacters.test(name)) { 
      return [false, "Name should be alphabetical.", ""]; 
     } 
4

का प्रयोग करें। यह आपके सत्यापनकर्ता को एक नया खंड जोड़ देगा।

$.validator.addMethod(
     "alphabetsOnly", 
     function(value, element, regexp) { 
      var re = new RegExp(regexp); 
      return this.optional(element) || re.test(value); 
     }, 
     "Please check your input values again!!!." 
); 
$("#formElement").rules("add", {alphabetsOnly: "^[a-zA-Z'.\\s]$" }) 
0

एक कस्टम सत्यापनकर्ता जोड़ने के लिए निम्न विधि ठीक काम करता है, लेकिन सत्यापन KeyUp पर होता है, तो त्रुटि पॉपिंग, जबकि उपयोगकर्ता पाठ लिख रहा है पर रहता है।

return value.match(new RegExp("")); 

नीचे दी गई विधि नाम क्षेत्रों के लिए अक्षर और रिक्त स्थान, आदर्श के लिए ठीक काम करता है।

jQuery.validator.addMethod("alphabetsAndSpacesOnly", function (value, element) { 
    return this.optional(element) || /^[a-zA-Z\s]+$/.test(value); }); 

    $("FieldId").rules("add", { 
     alphabetsAndSpacesOnly: true, 
     messages: { alphabetsAndSpacesOnly: "Please enter a valid name." } 
    }); 
0

jQuery मान्य प्लगइन पहले से ही एक नियम the additional-methods.js file के हिस्से के रूप lettersonly का आह्वान किया है, जो इस तरह दिखता है ...

$.validator.addMethod("lettersonly", function(value, element) { 
    return this.optional(element) || /^[a-z]+$/i.test(value); 
}, "Letters only please"); 
0

cdn

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/additional-methods.js"></script> 
rules:{ 
    txtname:{required: true, 
      lettersonly:true 
      } 
0

कोशिश जोड़े यह: (यह jquery का उपयोग कर एकदम सही कस्टम सत्यापन है सत्यापनकर्ता)

$(function() { 

    $.validator.addMethod("alphabetsnspace", function(value, element) { 
     return this.optional(element) || /^[a-zA-Z ]*$/.test(value); 
    }); 

    $("#add-employee").validate({ 
     rules: { 
      employee_surname: { 
       required: true, 
       alphabetsnspace: true 
      }, 
      employee_firstname: { 
       required: true, 
       alphabetsnspace: true 
      }, 
      employee_othername: { 
       alphabetsnspace: true 
      }, 
      father_name: { 
       required: true, 
       alphabetsnspace: true 
      }, 
      mother_name: { 
       required: true, 
       alphabetsnspace: true 
      }, 
      spouse_name: { 
       alphabetsnspace: true 
      }, 
      ssn: { 
       number: true, 
      }, 
      phone_no: { 
       number: true, 
      }, 
      phone_no2: { 
       number: true, 
      }, 
      passport: { 
       number: true, 
      }, 
      driving_license: { 
       number: true, 
      }, 
      email: { 
       email: true 
      } 
     }, 
     messages: 
      { 
       "employee_surname":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "employee_firstname":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "employee_othername":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "father_name":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "mother_name":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "spouse_name":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
      } 
    }); 
}); 
संबंधित मुद्दे