元素可见性的条件性Aurelia验证

时间:2017-01-12 10:42:43

标签: validation typescript aurelia aurelia-validation

我试图使用aurelia和aurelia验证插件制作一些许可订阅表单。 我有一个个人信息的字段集,其中大部分都是必需的,并通过aurelia验证进行验证。

现在,我还有一个信用卡信息的字段集和帐单地址,以及需要和验证的字段。问题是,只有当用户选择订阅单选按钮时才会显示它们。 我在ValidationRules中有所有必填字段,如何告诉aurelia它应该只验证当前可见的字段?

2 个答案:

答案 0 :(得分:6)

您可以使用 ValidationRules .ensure('email') .email() .required() .when(order => order.shipmentNotifications) .withMessage('Email is required when shipment notifications have been requested.'); 流畅方法进行条件验证。以下是Aurelia Docs

中的示例

let dateString = "Thursday, 19 Jan 2017" let df = DateFormatter() df.dateFormat = "eeee, dd MM yyyy" let date = df.date(from: dateString) if let unwrappedDate = date { myDatePicker.setDate(unwrappedDate, animated: false) //set your own date }

答案 1 :(得分:2)

如果在元素上使用if.bind,隐藏元素将无法验证。

除非您想要DOM中的元素但只隐藏,否则请使用if.bind。 这样,您的元素不会以dom呈现,因此未经过验证。

show.bind - >隐藏/显示元素

if.bind - >渲染/不渲染元素

相关问题