Проблема определения пользовательской проверки Петрушки в AngularJS - PullRequest
1 голос
/ 23 апреля 2019

Я унаследовал проект, который использует Laravel и nodejs для запуска приложения angularjs (верно?)

В приложении широко используются валидаторы петрушки, но мне нужен тот, который проверяет по списку typeahead.

Я просто не могу понять, куда вставить этот код проверки.Он никуда не бежит, я его придерживаюсь.Я могу получить доступ к window.Parsley из консоли, и это показывает, что я зарегистрировал пользовательский валидатор.и когда я спамил пользовательское объявление о проверке, чтобы попытаться его поднять, я получаю предупреждение, что оно уже удалено, но оно не запустится в моей форме.

Я думал, что яМне нужно добавить пользовательский код валидатора сразу после того, как я заполню свой объект данных вызовом API, но это не работает.

Просто пытаюсь заставить пример работать сначала

<input type="text" autocomplete="off" class="form-control" placeholder="Search Client" data-ng-model="addexpense.model.client" uib-typeahead="clientObj.name as clientObj.name for clientObj in addexpense.getClientList($viewValue)" data-parsley-palindrome="" uib-typeahead-min-length="2">

и

window.Parsley.addValidator('palindrome', {
    validateString: function(value) {
        console.log("whee")
        return value.split('').reverse().join('') === value;
    },
    messages: {
        en: 'This string is not the reverse of itself',
        fr: "Cette valeur n'est pas l'inverse d'elle même."
    }
});

Я ожидаю, что валидатор будет работать на поле, к которому я его прикрепил, но он вообще не работает, несмотря на то, что зарегистрирован в window.Parsley.Я подозреваю, что есть где-то особенное, чтобы объявить пользовательский валидатор в AngularJS, но я беспокоюсь о необходимости передать ему список валидаций (хотя я предполагаю, что я мог бы запустить другой вызов API, откуда бы я мог заставить валидатор работать)

...