Javascript 比较两个日期-在react redux中的验证中,结束日期应大于开始日期
我正在使用日期验证,但它不适用于我,因为datepicker验证是在选择小于日期后锁定我的日历,所以您可以建议我如何解决此问题 这是我的密码: index.jsJavascript 比较两个日期-在react redux中的验证中,结束日期应大于开始日期,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我正在使用日期验证,但它不适用于我,因为datepicker验证是在选择小于日期后锁定我的日历,所以您可以建议我如何解决此问题 这是我的密码: index.js import React from 'react'; import moment from 'moment'; const processDate = date => date ? moment(date, date.length === 10 ? 'DD/MM/YYYY' : null).format('MM
import React from 'react';
import moment from 'moment';
const processDate = date =>
date ? moment(date, date.length === 10 ? 'DD/MM/YYYY' :
null).format('MM/DD/YYYY') : null;
class Skills extends React.Component {
static propTypes = {
skills: PropTypes.array.isRequired,
};
onSubmitSkill(formData) {
const { paramValue } = this.props;
const skill = Object.assign({ employeeId: paramValue },
formData);
skill.startDate = processDate(skill.startDate);
skill.endDate = processDate(skill.endDate);
}
}
SkillsForm.js
import React, { Component } from 'react';
import { Input, DatePicker, Select } from 'components/Form';
import moment from 'moment';
import skillsValidations from './validations.js';
const selector = formValueSelector('academicYear');
const processDate = date => (date ? moment(date, date.length === 10 ? 'DD/MM/YYYY' : null) : null);
@connect(state => ({
startDate: selector(state, 'startDate'),
perm: state.auth.user.permissions,
}))
@reduxForm({
form: 'skills',
validate: skillsValidations,
})
export default class SkillsForm extends Component {
constructor(props) {
super(props);
const defaultValues =
(props.skill &&
Object.assign(
{
startDate: processDate(props.skill.startDate),
endDate: processDate(props.skill.endDate),
},
props.skill,
)) ||
{};
this.props.initialize(defaultValues);
}
render() {
return (
<form
<Field
component={DatePicker}
name="startDate"
label="Start Date"
placeholder="select date"
required
/>
<Field
component={DatePicker}
label="End Date"
name="endDate"
placeholder="End Date"
/>
</form>
);
}
}
我正在使用此代码,但它不适用于比较两个日期基本上结束日期必须大于开始日期,我正在使用日期验证,但它对我不起作用,因为日期选择器验证在选择小于日期后锁定我的日历,日历不起作用,然后我没有选择任何日期,然后我必须更改日历月并选择日期我不知道这是问题所在,我不知道是什么问题,实际上我使用的是react 16,我使用的是react datepicker版本1.1.0
我在两个日期之间尝试了许多逻辑比较,但没有逻辑。您可以使用简单的帮助函数检查日期验证
checkDateValidation(startDate, endDate) {
// check the dates
if ((new Date(startDate) > new Date(endDate)) || (new Date(endDate) < new Date(startDate))) {
// set date error validation true
} else {
// null or false date error validation
}
}
checkDateValidation(开始日期、结束日期){
//核对日期
如果((新日期(开始日期)>新日期(结束日期))| |(新日期(结束日期)<新日期(开始日期))){
//将日期错误验证设置为true
}否则{
//无效或错误的日期错误验证
}
}
checkDateValidation(startDate, endDate) {
// check the dates
if ((new Date(startDate) > new Date(endDate)) || (new Date(endDate) < new Date(startDate))) {
// set date error validation true
} else {
// null or false date error validation
}
}