Как я могу изменить этот код, чтобы принимать даты mm/dd/yyyy и mm/yyyy? У нас есть одна страница в нашем приложении, где требования - это даты в формате mm/yyyy, а остальные - mm/dd/yyyy.Подтвердить дату в формате ММ/ГГГГ в momentjs
Даты mm/yyyy не проверяются.
ko.validation.rules["simpleDate"] = {
validator: (val: any, validate: any) => {
if (val == null) return true;
return moment(val).isValid();
},
message: "Invalid date"
};
eventDate: KnockoutObservable<Date> = ko.observable(null).extend({ required: { message: "Please enter an event date." }, simpleDate: { message: "Please enter a valid event date." } });
lawsuitDate: KnockoutObservable<Date> = ko.observable(null).extend({ required: { message: "Please enter a lawsuit date." }, simpleDate: { message: "Please enter a valid lawsuit date." } });
EDIT:
я добавил отдельный метод проверки и попробовал это, и это до сих пор не работает. Есть идеи?
ko.validation.rules["simpleDate2"] = {
validator: (val: any, validate: any) => {
if (val == null) return true;
return moment(val,'MM/YYYY').isValid();
},
message: "Invalid date"
};
eventDate: KnockoutObservable<Date> = ko.observable(null).extend({ required: { message: "Please enter an event date." }, simpleDate2: { message: "Please enter a valid event date." } });
lawsuitDate: KnockoutObservable<Date> = ko.observable(null).extend({ required: { message: "Please enter a lawsuit date." }, simpleDate2: { message: "Please enter a valid lawsuit date." } });
второй править:
Это подтверждение сообщение, которое требуется , который показывает Пожалуйста, введите дату события. Пожалуйста, введите дату судебного разбирательства.
Это больше похоже на 'momentjs' вопрос, чем вопрос нокаута –
Или проверка ко –
Я думаю, что вы, возможно, потребуется создать два различных правила проверки kò для различных форматов, а затем использовать эти форматы в качестве 2-го параметра в вызове к моменту –