2016-08-01 3 views
2

단지 moment() 객체가 isValid() 메소드를 가지고있어 제공된 데이터의 유효성을 검사하는 것처럼 보입니다. moment.duration() 객체에 해당하는 항목이 있습니까? 왜냐하면 isValid()는 지속 기간에 존재하지 않는 것 같습니다.moment.js 기간을 확인하는 방법은 무엇입니까?

+0

['moment.isDuration (obj);'] (http://momentjs.com/docs/#/durations/is-a-duration/) – VincenzoC

+0

유효 기간은 어떻게 생각합니까? – svarog

+0

moment.duration ('내 개인 시간대 5')은 유효하지 않아야합니다. 예 : – schacki

답변

1

나는 이것이 순간에 누락 된 것 같다. 필자는 필요 이후 유효 기간을 확인하는 다음 해결 방법을 생각해 냈습니다. 통찰력은 유효하지 않은 지속 시간은 정확히 'P0D'지속 시간을 초래한다는 것입니다. 여기에서 공유하기 :

durationIsValid(iso8601DurationString){ 
    if(iso8601DurationString === 'P0D') return true; 
    return moment.duration(iso8601DurationString).toISOString() !== 'P0D'; 
} 

희망이 있습니다.

+0

의도적으로 길이가 0 인 지속 시간을 만드는 경우에는 작동하지 않습니다. 순간에 유효 기간이 없으면 기본값은 0입니다. 그래서이 경우에 당신에게 잘못된 음성을 줄 것입니다. (이 순간에 현재 순간 버전은 2.20.1입니다. 향후 버전에서는 더 나은 유효 기간 유효성 검사가 이루어지기를 바랍니다.) 이 유효성 확인은 https://github.com/moment/moment/blob/develop/src/lib/duration/constructor.js에서 확인할 수 있습니다. – RobotNerd

관련 문제