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

72 lines
2.0 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 {
Required(ltkey, value) {
if (!_.isEmpty(value)) {
return false;
}
//get the localized rule text
// "ErrorRequiredFieldEmpty": "{0} is a required field. Please enter a value for {0}",
var err = locale.get("ErrorRequiredFieldEmpty");
var fieldName = locale.get(ltkey);
err = _.replace(err, "{0}", fieldName);
//lodash replace only replaces first instance so need to do it twice
err = _.replace(err, "{0}", fieldName);
return err;
},
MaxLength(ltkey, value, max) {
if (_.isEmpty(value)) {
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 (_.isEmpty(startDate)) {
return false;
}
if (_.isEmpty(endDate)) {
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;
}
}
};