// Rules for project label. export const colorRules = (msg) => { return [ v => !!v || msg.colorRequired ] } export const labelNameRules = (msg) => { return [ v => !!v || msg.labelRequired, v => (v && v.length <= 30) || msg.labelLessThan30Chars ] } // Rules for project member. export const userNameRules = (msg) => { return [ v => !!v || msg.userNameRequired, v => (v && v.length <= 30) || msg.userNameLessThan30Chars ] } export const roleRules = (msg) => { return [ v => !!v || msg.roleRequired ] } // Rules for a project. export const projectNameRules = (msg) => { return [ v => !!v || msg.projectNameRequired, v => (v && v.length <= 30) || msg.projectNameLessThan30Chars ] } export const descriptionRules = (msg) => { return [ v => !!v || msg.descriptionRequired, v => (v && v.length <= 100) || msg.descriptionLessThan30Chars ] } export const projectTypeRules = (msg) => { return [ v => !!v || msg.projectTypeRequired ] } // Rules for Document. export const fileFormatRules = (msg) => { return [ v => !!v || msg.fileFormatRequired ] } export const uploadFileRules = (msg) => { return [ v => !!v || msg.fileRequired, v => !v || v.some(file => file.size < 100000000) || msg.fileLessThan1MB ] } export const uploadSingleFileRules = (msg) => { return [ v => !!v || msg.fileRequired, v => !v || v.size < 1000000 || msg.fileLessThan1MB ] } // Rules for user. export const passwordRules = (msg) => { return [ v => !!v || msg.passwordRequired, v => (v && v.length <= 30) || msg.passwordLessThan30Chars ] } export const templateNameRules = () => { return [ v => !!v || 'Name is required' ] }