Viewing File: /usr/local/cpanel/share/libraries/cjt2/src/validator/username-validators.js
/*
# username-validators.js Copyright(c) 2020 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/
/* --------------------------*/
/* DEFINE GLOBALS FOR LINT
/*--------------------------*/
/* global define: false */
/* --------------------------*/
/**
* This module has a collection of username validators
*
* @module username-validators
* @requires angular, lodash, validator-utils, validate, locale
*/
define([
"angular",
"lodash",
"cjt/validator/validator-utils",
"cjt/util/locale",
"cjt/validator/validateDirectiveFactory"
],
function(angular, _, validationUtils, LOCALE) {
"use strict";
var FTP_USERNAME_REGEX = "[^0-9a-zA-Z_-]",
FTP_USERNAME_MAX_LENGTH = 25;
var usernameValidators = {
/**
* Validate FTP username
*
* @method ftpUsername
* @param {string} userName FTP user name
* @return {object} validation result
*/
ftpUsername: function(val) {
var result = validationUtils.initializeValidationResult();
if (typeof (val) === "string") {
// username cannot be "FTP"
if (val.toLowerCase() === "ftp") {
result.isValid = false;
result.add("ftpUsername", LOCALE.maketext("User name cannot be “[_1]”.", "ftp"));
return result;
}
// username cannot be longer than CPANEL.v2.app.Constants.FTP_USERNAME_MAX_LENGTH
if (val.length > FTP_USERNAME_MAX_LENGTH) {
result.isValid = false;
result.add("ftpUsername", LOCALE.maketext("User name cannot be longer than [quant,_1,character,characters].", FTP_USERNAME_MAX_LENGTH));
return result;
}
// username must only contain these characters
var pattern = new RegExp(FTP_USERNAME_REGEX);
if (pattern.test(val) === true) {
result.isValid = false;
result.add("ftpUsername", LOCALE.maketext("The user name should only contain the following characters: [asis,a-zA-Z0-9-]."));
return result;
}
}
return result;
}
};
var validatorModule = angular.module("cjt2.validate");
validatorModule.run(["validatorFactory",
function(validatorFactory) {
validatorFactory.generate(usernameValidators);
}
]);
return {
methods: usernameValidators,
name: "username-validators",
description: "Validation library for usernames.",
version: 2.0,
};
});
Back to Directory
File Manager