我们说我有这个自定义元素:
<div validation-errors.bind="form.imageDataErrors">
<imagepicker image-data.two-way="form.model.imageData & validate" />
</div>
和(大约)这样定义的表单类:
export class ImageForm {
constructor() {
this.imageData = null;
ValidationRules
.ensure("imageData")
.required()
.on(this);
}
}
现在,当用户选择图像时,我这样做:
export class ImagePicker {
@bindable imageData;
onImageChange(data) {
this.imageData = data;
}
}
如果我在用户选择图像之前验证,则会显示错误消息。如果我然后选择图像并再次验证,即使设置了imageData
,错误也不会消失。那么如何强制验证引擎重新验证这个属性呢?
修改
我找到了validateBinding
我可以使用的ValidationController
方法,但我不知道如何获取属性的基础绑定。