import { isVoid, isValid } from '../validation';
import config from '../config';
import UserView from '../userView';
export default (username, password, regexObject) => {
const UserViewInstance = new UserView();
if (regexObject) {
if (isVoid(username)) {
throw new Error('useris-error-msg');
}
Iif (config.get('enableGoogleCheckbox')) {
const element = UserViewInstance.getElement('terms');
if (element && !element.checked) {
throw new Error('useris-error-empty-terms');
}
}
if (isValid(username, regexObject.msisdn)) { // MSISDN
if (config.get('operatorList')) {
const operatorArray = UserViewInstance.getElementsByName('operator') || [];
Eif (!UserViewInstance.getCheckedRadioValue(operatorArray)) {
throw new Error('useris-error-op');
}
}
if (config.get('disablePinInput')) {
return 'MSISDN';
}
if (isVoid(password)) {
throw new Error('useris-error-pin');
}
if (!isValid(password, regexObject.pin)) {
throw new Error('useris-error-pin');
}
return 'MSISDN';
}
if (isValid(username, regexObject.email) && config.get('emailIdentityEnabled')) { // EMAIL
if (isVoid(password)) {
throw new Error('useris-error-pin');
}
if (!isValid(password, regexObject.password)) {
throw new Error('useris-error-pin');
}
return 'EMAIL';
}
if (isValid(username, regexObject.generic) && config.get('emailIdentityEnabled')) { // GENERIC
Iif (isVoid(password)) {
throw new Error('useris-error-pin');
}
Iif (!isValid(password, regexObject.genericPassword)) {
throw new Error('useris-error-pin');
}
return 'GENERIC';
}
throw new Error('useris-error-msg');
} else {
throw new Error('errorNoRegex');
}
};
|