Files
raven-client/ayanova/src/api/gzvalidate.js
2019-03-11 23:08:34 +00:00

60 lines
1.5 KiB
JavaScript

/* eslint-disable */
///////////////////////////////
// GZVALIDATE
//
// provides form validation services
// All locale keys for validation *MUST* be fetched prior to this being used as it assumes all keys are fetched first
// Add any new keys used to the block in locale.js=>commonKeysEditForm
import dayjs from "dayjs";
import locale from "./locale";
import _ from "../libs/lodash.min.js";
export default {
MaxLength(ltkey, value, max) {
if (value === undefined || value === null) {
return false;
}
if (value.length > max) {
//get the localized rule text
// "ErrorFieldLengthExceeded": "{0} can not exceed {1} characters.",
var err = locale.get("ErrorFieldLengthExceeded");
var fieldName = locale.get(ltkey);
err = _.replace(err, "{0}", fieldName);
err = _.replace(err, "{1}", max);
return err;
} else {
return false;
}
},
Max255(ltkey, value) {
return this.MaxLength(ltkey, value, 255);
},
After(startDate, endDate) {
if (startDate === undefined || startDate === null) {
return false;
}
if (endDate === undefined || endDate === null) {
return false;
}
startDate = dayjs(startDate);
endDate = dayjs(endDate);
// if either is not valid.
if (!startDate || !endDate) {
return false;
}
if (startDate.isAfter(endDate)) {
// "ErrorStartDateAfterEndDate": "Start date must be earlier than stop / end date",
var err = locale.get("ErrorStartDateAfterEndDate");
return err;
} else {
return false;
}
}
};