Ich habe die folgende Basisklasse baseModel.jsValidierung und inheritence
import { Validation } from 'aurelia-validation';
let id;
let version;
let validation;
@inject(Validation)
export class BaseModel {
constructor(validation) {
this.validation = validation;
}
}
Ich bin es mich in den supplierModel.js
import { BaseModel } from "./baseModel";
let apSupplierCode;
let discountRate;
export class Supplier extends BaseModel {
constructor() {
super();
super.validation = validation.on(this)
.ensure('apSupplierCode')
.isNotEmpty()
.hasLengthBetween(3, 6)
.ensure('discountRate')
.isNotEmpty()
.containsOnlyDigits()
.isBetween(10, 45.99);
}
}
Ich bin immer in der Konsole namens erstellt die folgenden Fehler
inner error: ReferenceError: validation is not defined
at new Supplier http://localhost:9000/dist/models/supplierModel.js:63:55)
Ich habe versucht mit einem Get/Set Accessoren, Super.validation und nur Validierung, aber es macht keinen Unterschied.
Warum kann der Lieferant keine Variable in seiner übergeordneten Klasse (BaseModel) sehen?