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