在React中验证日期输入字段

时间:2017-03-06 10:33:02

标签: validation date reactjs redux-form

我必须输入我定义的输入字段:

const MyDatePicker = ({ input, meta: { touched, error } }) => (
  <div>
    <DatePicker
      {...input} dateFormat="DD-MM-YYYY"
      selected={input.value ? moment(input.value, 'DD-MM-YYYY') : null}
    />
    {touched && error && <span>{error}</span>}
  </div>
);

我使用redux表格。我想添加具有以下功能的验证。当“日期到字段”中的日期小于“日期自”字段中的日期时,将显示一条消息,指示日期到字段必须大于字段中的日期。如您所见,我的日期格式为:06-03-2017。更具“挑战性”的部分是在另一个组件中,日期From和date To必须具有一年的时间空间。如果时间空间超过一年,则应显示一条消息,时间空间必须为最大值的一年

1 个答案:

答案 0 :(得分:1)

Redux表单中的synchronous validation函数将获得所有表单值。看起来很容易说:

if(values.to.before(values.from) {
  errors.from = 'Must be before'
}

或者,如果您正在执行"field-level" validation,则the validate function的第二个参数是表单的所有值。