Custom element 使用自定义元素进行aurelia验证

Custom element 使用自定义元素进行aurelia验证,custom-element,aurelia,Custom Element,Aurelia,我用aurelia验证插件创建了一个输入表单,效果非常好。 现在,我创建了一个自定义元素来替换输入类型textbox。 我试图通过使用“validate”关键字设置value属性来验证新的自定义元素值,但是自定义元素输入值没有被验证。 验证控制器似乎没有绑定到自定义元素。 验证控制器的绑定数组不包含自定义元素。 这可能与应该触发验证的操作有关(blur\focus out),因此我添加了blur事件的调度,但它仍然不起作用。如前所述-当它是常规元素时,它工作得非常完美。 以下是相关代码(删除了不

我用aurelia验证插件创建了一个输入表单,效果非常好。 现在,我创建了一个自定义元素来替换输入类型textbox。 我试图通过使用“validate”关键字设置value属性来验证新的自定义元素值,但是自定义元素输入值没有被验证。 验证控制器似乎没有绑定到自定义元素。 验证控制器的绑定数组不包含自定义元素。 这可能与应该触发验证的操作有关(blur\focus out),因此我添加了blur事件的调度,但它仍然不起作用。如前所述-当它是常规元素时,它工作得非常完美。 以下是相关代码(删除了不需要的代码): 自定义元素模板:

<template>
    <label>
        ${title}<input name.bind="fieldName" 
        title.bind="title" focusout.trigger="focusoutAction()" />
    </label>
</template>
相关容器(父级)视图代码:

<form-input name="firstName" id="firstName" title="First Name" bind-
value="registration.firstName & validate" field-name="firstName" on-
focusout.call="validateInput()" />
<form-input name="firstName" id="firstName" title="First Name" bind-
value="registration.firstName & validate" field-name="firstName" on-
focusout.call="validateInput()" />
ValidationRules
.ensure(r => r.firstName).displayName('first 
name').required().withMessage(`\${$displayName} cannot be blank`)
.satisfiesRule('FirstNameValidation')
.ensure(r => r.lastName).displayName('last 
name').required().withMessage(`\${$displayName} cannot be blank`)
.satisfiesRule('LastNameValidation')

validateInput() { this.getValidationError(event.target.name); }

getValidationError(propertyName) {
let error = this.getValidationFirstError(propertyName);
....
}
getValidationFirstError(propertyName) 
{
  if (this.controllerToValidate.errors !== null && 
  this.controllerToValidate.errors.length > 0) //This is 0 !!!!!
}