当前位置:  开发笔记 > 开发工具 > 正文

选择列表上的Aurelia验证

如何解决《选择列表上的Aurelia验证》经验,为你挑选了1个好方法。

我在Aurelia视图中有一个简单的选择列表,我试图在'Select ...'上设置默认值.我还使用aurelia-validation插件来确保在提交表单之前更改值.该插件非常适合我项目中的其他字段类型.

在VM中:

constructor(validation) {
    this.agencies = null;
    this.agencyId = 0;
    this.validation = validation.on(this)
        .ensure('agencyId')
          .isNotEmpty();
}
activate() {
    //call api and populate this.agencies 
}

页面最初加载后,我在列表中获取我的代理,我的默认值是正确的,但它显示验证错误消息: 在此输入图像描述

其他表单字段(如文本框)不会执行此操作,并且在用户与表单控件交互之前不会显示任何错误消息.

我是否需要为选择列表做一些特殊操作来隐藏视图初始加载时的验证错误?我怀疑在视图中绑定选择列表会以某种方式触发更改事件.



1> Don Fitz..:

感谢Gitter上的Aurelia用户,通过将this.agencyId的初始值设置为""来解决问题.最初我有this.agencyId = null.那是我的错.因为它为null而不是""(因为是选择列表中的默认值),所以值不匹配,因此加载视图时选择列表无效.至少,这是我的理解.

本课程是,如果要验证选择列表,请确保将VM属性初始化为与选择列表的默认值相同的值.

constructor() {
    this.agencyId = ""; **//must match the bound property's initial value**
}

在视图中:

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有