2021-04-12 13:32:25 +00:00
|
|
|
import { size } from "lodash";
|
2016-12-21 17:25:54 +00:00
|
|
|
|
2021-04-12 13:32:25 +00:00
|
|
|
import validateNumericality from "components/forms/validators/validate_numericality";
|
2016-12-21 17:25:54 +00:00
|
|
|
|
|
|
|
|
const validate = (formData) => {
|
|
|
|
|
const errors = {};
|
|
|
|
|
|
|
|
|
|
if (!formData.query_id) {
|
2021-04-12 13:32:25 +00:00
|
|
|
errors.query_id = "A query must be selected";
|
2016-12-21 17:25:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!formData.interval) {
|
2021-04-12 13:32:25 +00:00
|
|
|
errors.interval = "Interval must be present";
|
2016-12-21 17:25:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (formData.interval && !validateNumericality(formData.interval)) {
|
2021-04-12 13:32:25 +00:00
|
|
|
errors.interval = "Interval must be a number";
|
2016-12-21 17:25:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!formData.logging_type) {
|
2021-04-12 13:32:25 +00:00
|
|
|
errors.logging_type = "A Logging Type must be selected";
|
2016-12-21 17:25:54 +00:00
|
|
|
}
|
|
|
|
|
|
2017-02-01 20:48:08 +00:00
|
|
|
if (formData.shard) {
|
|
|
|
|
if (formData.shard < 0 || formData.shard > 100) {
|
2021-04-12 13:32:25 +00:00
|
|
|
errors.shard = "Shard must be between 0 and 100";
|
2017-02-01 20:48:08 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-12-21 17:25:54 +00:00
|
|
|
const valid = !size(errors);
|
|
|
|
|
|
|
|
|
|
return { valid, errors };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default validate;
|