代码之家  ›  专栏  ›  技术社区  ›  ViqMontana

使用Aurelia验证验证列表

  •  2
  • ViqMontana  · 技术社区  · 7 年前

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

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

    <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 永远是真的。

    value.bind="firstName & validate" 对于值字段。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Valentin B.    7 年前

    通过defaut,aurelia验证只验证绑定的属性。如果要验证整个实体,即使某些属性未在数据绑定中使用,也必须使用控制器的 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