【问题标题】:satisfiesRule Validation in Aurelia满足 Aurelia 中的规则验证
【发布时间】:2018-03-31 08:37:59
【问题描述】:

我想在 Aurelia 中有一个验证规则。我有一个布尔数组(WeekDays),当这个数组中的 7 项中的两项为真并且也单击了 isAutomatic 复选框时,它是有效的,我可以保存数据。例如我的验证规则:

private static VALIDATION_RULES = ValidationRules
.ensure((tc: client.TestConfig) => tc.activateOnWeekDay)
.satisfiesRule('minTwoDaySelected').when((tc: client.TestConfig) => tc.isAutomatic)
.rules

我想编写 minTwoDaySelected 函数,如果选择了最少两项数组,则返回 true。 编写它的模式在这里:

    ValidationRules.customRule(
      'minTwoDaySelected',
       .....
       .....
    )

我不知道如何完成它。你能帮帮我吗?

【问题讨论】:

    标签: validation aurelia


    【解决方案1】:

    我卖掉了:

    ValidationRules.customRule(
      'minTwoDaysSelected',
      (obj) => {
        let i: number
        let count: number = 0
        for ( i = 0;i < 7;i++) {
          if (obj[i]) {
            count++
          }
        }
    
        return count > 1
      },
      'Minimum two days of \${$displayName} must be selected.',
      (obj) => ({ obj })
    )
    
    private static VALIDATION_RULES = ValidationRules
      .ensure((tgc: client.TestGroupTestConfig) => tgc.activateOnWeekDay).displayName('tests.details.week-days')
        .required().satisfiesRule('minTwoDaysSelected').when((tgc: client.TestGroupTestConfig) => tgc.isAutomatic)
      .rules
    

    在 html 文件中(视图):

    <input type="hidden" value.bind="batteryConfig.activateOnWeekDay & validate">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多