Polymer1.0验证两个输入[type = date]

时间:2015-10-21 12:14:04

标签: javascript forms polymer-1.0

我开始使用Polymer而无法找到许多问题的答案。

我有两个输入

<paper-input id="startDate" type="date" 
    error-message="The end date is before the start date"></paper-input>
<paper-input id="endDate" type="date"></paper-input>

当两者都为空或只填写一张时,表格有效。如果两者都填满,则需要验证endDate大于或等于startDate。 怎么做?

1 个答案:

答案 0 :(得分:1)

如果您已开始使用,请访问开发者指南,在那里您可以找到大部分问题的答案。

在您的情况下,您需要声明具有纸张输入值的属性并观察其更改。 https://www.polymer-project.org/1.0/docs/devguide/properties.html#change-callbacks。在那个观察者中,你可以写逻辑并将任何(或两个)字段设置为无效。

<dom-module id="my-form">
<template>
<paper-input id="startDate" type="date" value="{{startDate}}" error-message="The end date is before the start date"></paper-input>
<paper-input id="endDate" type="date" value="{{endDate}}"></paper-input>
</template>
<script>
(function() {
'use strict';

Polymer({
  is: 'my-form',

  properties: {
    startDate: Date,
    endDate: Date,
  },
  observers: ['_dateChange(startDate, endDate)'],
  _dateChange: function(startDate, endDate) {
     if(/*logic goes here*/) {
       this.$.startDate.invalid = true;
     } else {
       this.$.startDate.invalid = false;
     }
  }      
});
})();
</script>
</dom-module>