60 lines
1.5 KiB
JavaScript
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;
|
|
}
|
|
}
|
|
};
|