Создайте пользовательский валидатор, чтобы проверить, является ли ввод в Parsley строкой - PullRequest
2 голосов
/ 21 сентября 2019

Я хочу создать собственный валидатор, который проверяет, является ли ввод строкой, а не числом.Пример: я ввожу 2 в поле ввода, должно появиться сообщение об ошибке, и оно будет запущено, когда я введу data-parsley-name

<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript" src="js/parsley.min.js"></script>

<input type="text" id="f_name" name="f_name" placeholder="Enter First Name" data-parsley-required="true" data-parsley-trigger=" focusout" data-parsley-name>
window.Parsley.addValidator('name', {
        requirementType: 'string',
        validateString: function(value) {
            if(isNaN(value)){
                return value;
            }
        },
        messages: {
          en: 'Enter a Valid Name',

        }
      });

Ответы [ 3 ]

1 голос
/ 21 сентября 2019

Я обнаружил, что могу использовать data-parsley-pattern = "^ [a-zA-Z] + $"

0 голосов
/ 21 сентября 2019

Используйте jQuery's .isNumeric() https://api.jquery.com/jQuery.isNumeric/

    validateString: function(value) {
        if($.isNumeric(value) == false){
            return value;
        }
    }
0 голосов
/ 21 сентября 2019

В вашей функции валидатора измените это:

validateString: function(value) {
        if(value === "" + value){
            return value;
            console.log(this.messages.en);
        }
    }

Но если вы хотите проверить числа, используйте этот код: if(Number(value) === value);.

Number(value) превращает ваше значение в число,И если он равен вашему вводу, он вернет его и напечатает сообщение.

...