Validation
Last updated
Was this helpful?
Was this helpful?
import { newInstanceForScope, resolve } from '@aurelia/kernel';
import { IValidationRules } from '@aurelia/validation';
import { IValidationController } from '@aurelia/validation-html';
export class AwesomeComponent {
private person: Person; // Let us assume that we want to validate instance of Person class
public constructor(
private validationController: IValidationController = resolve(newInstanceForScope(IValidationController)),
validationRules: IValidationRules = resolve(IValidationRules)
) {
this.person = new Person();
validationRules
.on(this.person)
.ensure('name')
.required()
.ensure('age')
.required()
.min(42);
}
public async submit() {
const result = await this.validationController.validate();
if(result.valid) {
// Yay!! make that fetch now
}
}
}import { inject, resolve, newInstanceForScope } from '@aurelia/kernel'
import { IValidationRules } from '@aurelia/validation';
import { IValidationController } from '@aurelia/validation-html';
@inject(IValidationRules)
export class AwesomeComponent {
validationController = resolve(newInstanceForScope(IValidationController));
constructor(validationRules) {
this.person = new Person();
validationRules
.on(this.person)
.ensure('name')
.required()
.ensure('age')
.required()
.min(42);
}
async submit() {
const result = await this.validationController.validate();
if(result.valid) {
// Yay!! make that fetch now
}
}
}<form submit.trigger="submit()">
<input value.bind="person.name & validate">
<input value.bind="person.age & validate">
</form>