Javascript Aurelia:tab out上的触发器验证(模糊事件)

Javascript Aurelia:tab out上的触发器验证(模糊事件),javascript,aurelia,Javascript,Aurelia,我返回了一个验证组来验证在提交按钮上触发的输入,我想通过blur事件上的验证来触发相应的验证,而不是全部 例如: HTML: 由于我已经编写了updateTrigger:'blur'所有验证都不会被触发 删除updateRigger:'blur'后,所有验证都会正常工作 要求: 我希望一旦输入框失去焦点(模糊被触发),那么与“firstname”相关的验证就不会被触发(其他属性的)其他验证 提前感谢。这现在在aurelia验证alpha中得到支持。查看此博客帖子: 这里有一个例子: 注册表。ht

我返回了一个验证组来验证在提交按钮上触发的输入,我想通过blur事件上的验证来触发相应的验证,而不是全部

例如:

HTML:

由于我已经编写了
updateTrigger:'blur'
所有验证都不会被触发

删除
updateRigger:'blur'
后,所有验证都会正常工作

要求:

我希望一旦输入框失去焦点(模糊被触发),那么与“firstname”相关的验证就不会被触发(其他属性的)其他验证


提前感谢。

这现在在aurelia验证alpha中得到支持。查看此博客帖子:

这里有一个例子:

注册表。html


登记
名字
姓
电子邮件
提交
重置
注册表.js

从“aurelia依赖项注入”导入{inject,NewInstance};
从“aurelia validation”导入{ValidationController,validateTrigger};
从“aurelia validatejs”导入{required,email,ValidationRules};
@注入(NewInstance.of(ValidationController))
出口类登记表{
@必需的
名字=“”;
@必需的
lastName='';
@必需的
@电子邮件
电子邮件='';
建造师(控制员){
this.controller=控制器;
//默认模式为validateTrigger.blur,但
//您可以更改它:
//controller.validateTrigger=validateTrigger.manual;
//controller.validateTrigger=validateTrigger.change;
}
提交(){
让errors=this.controller.validate();
//todo:呼叫服务器。。。
}
重置(){
this.firstName='';
this.lastName='';
this.email='';
这个.controller.reset();
}
}

Aurelia的验证在2016年末更新,包括了一个changeOrBlur
validateTrigger
选项,我认为这应该是新的默认选项。以下是如何使用它:

constructor(controller) {
  this.controller = controller;
  controller.validateTrigger = validateTrigger.changeOrBlur;

    // controller.validateTrigger = validateTrigger.blur; (default)
    // controller.validateTrigger = validateTrigger.change;
    // controller.validateTrigger = validateTrigger.changeOrBlur;
    // controller.validateTrigger = validateTrigger.manual;
}

下一版本的
aurelia-validation
+
aurelia-validatejs
将对此提供支持。该版本应该在未来几天内发布。@Jeremy有什么更新吗?我已经用最新的jspm_包更新了框架。但是还没有成功,发布完成了吗?为本周二(明天)拍摄。@JeremyDanyow谢谢你。谢谢,我会在几天后检查并让你知道。谢谢,伙计,它成功了。我还有一个小问题,我需要在模糊和打字时进行验证。您能建议我如何实现它吗。@Ankur,检查一下我刚才添加的带有
changeOrBlur
validateTrigger选项的解决方案。所有的功劳都归功于Jeremy Danyow,因为他是实现它的人。
this.validation = validation.on(this)
        .ensure('firstName')
        .isNotEmpty()
        .hasMinLength(3)
        .hasMaxLength(10);
constructor(controller) {
  this.controller = controller;
  controller.validateTrigger = validateTrigger.changeOrBlur;

    // controller.validateTrigger = validateTrigger.blur; (default)
    // controller.validateTrigger = validateTrigger.change;
    // controller.validateTrigger = validateTrigger.changeOrBlur;
    // controller.validateTrigger = validateTrigger.manual;
}