Ввод для плагина проверки aurelia содержит раздел о создании пользовательских ValidationRules, расширяя класс ValidationRule и передавая его функции pass. Приведенный пример выглядит следующим образом:Как написать пользовательский параметр ValidationRule
import {ValidationRule} from './plugins/validation/';
export class MyValidationRule extends ValidationRule{
constructor (isValid) {
super(
isValid, //pass any object as 'threshold'
(newValue, threshold) => { //pass a validation function
return threshold;
}
(newValue, threshold) => { //Optionally pass a function that will provide an error message
return `needs to be at least ${threshold} characters long`;
},
);
}
}
Что мне делать с этим? Например, для демонстрационных целей, если бы я хотел создать функцию, которая проверяет, является ли значение номером телефона с регулярным выражением, как бы я код, который использует этот шаблон? Я спрашиваю, потому что документация разрежена примерами; для написания пользовательских правил проверки нет, а в другом примере показано, как добавить его в прототип ValidationGroup, но я хотел бы знать оба метода добавления настраиваемого правила.
Это может быть что я ищу. Глупый вопрос, но нужно ли мне импортировать настраиваемое правило в вызывающий класс, чтобы это правильно подключалось? – jbailie1991
Да, просто импортируйте {RegExpValidationRule} из 'yourfile'; – Mikhail
Теперь я получаю следующую консольную ошибку: 'Отказ от необработанного обещания Ошибка: Неожиданное поведение: сборка правил проверки должна всегда выполняться' ' at Ошибка (родная) по адресу http://10.172.102.162:9000/jspm_packages/ npm/[email protected]/validation-property.js: 79: 19 по h (http://10.172.102.162:9000/jspm_packages/npm/[email protected]/client/shim.min .js: 1773: 66) по адресу http://10.172.102.162:9000/jspm_packages/npm/[email protected]/client/shim.min.js:1778:19 на MutationObserver.e (http: //10.172.102.162:9000/jspm_packages/npm/[email protected]/client/shim.min.js:1958:55) ' – jbailie1991