使用Aurelia验证来验证列表

时间:2017-10-09 10:51:52

标签: validation aurelia aurelia-validation

我正在使用Aurelia验证来验证Aurelia项目中的项目。我目前正在尝试验证数组包含至少1个项目。我设置了以下验证规则:

ValidationRules
    .ensure((x: Appraisal) => x.objectives)
    .minItems(1)
    .withMessage("You must add at least one objective before submitting.")
    .on(Appraisal);

我有以下html:

<div class="au-animate" repeat.for="objective of appraisal.objectives">
    <compose view-model="./appraisal-objective-item" model.bind="{ objective: objective, appraisal: appraisal }" />
</div>

目前,当我在验证控制器上调用validate时,result.valid始终为true。

我需要在html中执行哪些操作才能获得验证信息。验证控制器? (即,您通常会为值字段value.bind="firstName & validate"

1 个答案:

答案 0 :(得分:1)

通过defaut,aurelia-validation仅验证绑定属性。如果要验证整个实体,即使某些属性未在数据绑定中使用,也必须使用控制器的addObject(object, rules?)方法。

在你的情况下:

this.appraisal = new Appraisal();
this.validationController.addObject(this.appraisal);

如果需要,请不要忘记调用removeObject方法。 (例如,如果更改appraisal属性的值。)

您可以在此处找到有关实体验证的更多详细信息: http://aurelia.io/hub.html#/doc/article/aurelia/validation/latest/validation-basics/9