validate tagify tag solo plugin letras bootstrap jquery jquery-validate

solo - tagify jquery



jQuery validar plugin: aceptar solo letras? (8)

Estoy usando el complemento de validación de http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Lo que estoy tratando de encontrar es una forma de hacer que algunos de mis campos de formulario acepten solo letras, no números, caracteres especiales, etc.

¿Alguna idea de la gente? Muchas gracias.


Añadir cdn

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


El complemento jQuery Validate ya tiene una regla llamada lettersonly como parte del archivo additional-methods.js , que se parece a esto ...

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


El siguiente método para agregar un validador personalizado funciona bien, pero la validación ocurre en el teclado, por lo que el error sigue apareciendo mientras el usuario escribe el texto.

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

El siguiente método funciona bien para Alfabetos y Espacios, ideal para campos de nombre.

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." } });


Intente esto: ( Esta es una validación personalizada perfecta utilizando el validador 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" }, } }); });


Prueba de esta manera:

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.", ""]; }


Simplemente agregue un validador personalizado y utilícelo de esta manera:

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

Sólo números:

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

Solo cartas

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


Un pequeño cambio.

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

Porque de esa manera estaba aceptando expresiones como "#abc".


Usa el código de abajo en tu script. esto agregará una nueva cláusula a su validador.

$.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]$" })