У меня есть приложение Aurelia, и я использую инструмент проверки Aurelia для проверки на стороне клиента. Я хочу использовать validationMessages
словарь, чтобы определить список сообщений пользовательских проверочных использовать в течение моего приложения, используя withMessageKey
так:Использование withMessageKey для пользовательских сообщений проверки в Aurelia
import {validationMessages} from 'aurelia-validation';
validationMessages['customMessage1'] = `My first custom message`;
validationMessages['customMessage2'] = `My second custom message`;
И тогда, когда я установил правило проверки на классе:
import { ValidationRules } from "aurelia-validation";
export class SampleObject {
text1;
text2;
constructor() {
ValidationRules
.ensure(a => a.text1)
.required()
.then().satisfies(x => x.trim() === x)
.withMessageKey('customMessage1')
.ensure(a => a.text2)
.satisfies(x => x.length > 5)
.withMessageKey('customMessage2')
.on(this);
}
};
Проверка выполняется, но пользовательские сообщения не отображаются, стандартные. Если вместо этого я использую withMessage('My first custom message')
, то он действительно работает, но я хочу сохранить все свои пользовательские сообщения в одном месте для использования во всем приложении.
Что я делаю неправильно?
В каком файле указаны пользовательские настройки? Вы уверены, что файл загружен? Не могли бы вы поместить пользовательские сообщения в тот же файл, где вы объявляете свои правила проверки? – nemesv
Я пробовал помещать пользовательские сообщения в отдельный файл в том же файле, что и класс (но вне класса), и внутри модели представления, в которой используется класс. Ни одна из этих работ не работает. Мне удалось заставить его работать, если я включаю сообщения проверки внутри класса, но это не совсем то, что я ищу, потому что я хочу использовать их во всем приложении. – yammerade
Можете ли вы попробовать также импортировать 'validationMessages' в свой класс ? Измените свою первую строку в классе на 'import {ValidationRules, validationMessages} из« aurelia-validation »;' – LStarky