验证 React 中的日期输入字段
Validation of date input fields in React
我必须确定我这样定义的输入字段的日期:
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 形式。我想添加具有以下功能的验证。当 "Date To Field" 中的日期小于 "Date From" 字段中的日期时,将显示一条消息,指出字段的日期必须大于字段的日期。如您所见,我的日期格式例如是:06-03-2017。 more "challenging" 部分是在另一个组件中,日期 From 和 date To 必须有时间 space 年。如果时间 space 超过一年,则应显示一条消息,时间 space 必须是一年,最大值为
Redux Form 中的 synchronous validation 函数被赋予了所有的表单值。似乎很容易说:
if(values.to.before(values.from) {
errors.from = 'Must be before'
}
或者,如果您正在做 "field-level" validation, the second parameter to the validate
function 是表格的所有值。
我必须确定我这样定义的输入字段的日期:
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 形式。我想添加具有以下功能的验证。当 "Date To Field" 中的日期小于 "Date From" 字段中的日期时,将显示一条消息,指出字段的日期必须大于字段的日期。如您所见,我的日期格式例如是:06-03-2017。 more "challenging" 部分是在另一个组件中,日期 From 和 date To 必须有时间 space 年。如果时间 space 超过一年,则应显示一条消息,时间 space 必须是一年,最大值为
Redux Form 中的 synchronous validation 函数被赋予了所有的表单值。似乎很容易说:
if(values.to.before(values.from) {
errors.from = 'Must be before'
}
或者,如果您正在做 "field-level" validation, the second parameter to the validate
function 是表格的所有值。