Ściąga - przykładowe walidatory skryptowe
Ostatnia aktualizacja
Czy to było pomocne?
Czy to było pomocne?
/*
* Sprawdza, czy rok urodzenia nie jest wcześniejszy niż 1900 r.
*/
function callService(context) {
const birthDateInput = context.getFirstParameter('dataUrodzenia');
if (birthDateInput !== "" && birthDateInput !== null) {
const birthTimestamp = parseInt(birthDateInput, 10);
const birthDate = new Date(birthTimestamp);
const birthYear = birthDate.getFullYear();
if (birthYear < 1900) {
return [{
'key': 'pl.error.birthYearBefore1900',
'parameters': [birthDate, 'Data urodzenia nie może być wcześniejsza niż 1900 r.']
}];
}
}
return [];
}/*
* Waliduje poprawność składniową adresu e-mail na podstawie wyrażenia regularnego.
*/
function callService(context) {
const email = context.getFirstParameter('email');
const regex = new RegExp("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-\\+]+)*@([A-Za-z0-9]+(-[A-Za-z0-9]+)*(\\.[A-Za-z0-9-]+)*\\.[A-Za-z]{2,})$");
if (!regex.test(email) || email.match(regex)[0] !== email) {
return [{
'key': 'pl.error.IncorrectEmail',
'parameters': [email, 'Podana wartość jest błędna']
}];
} else {
return [];
}
}/**
* Walidator weryfikujący, czy łączny rozmiar załączonych plików nie przekracza dopuszczalnego limitu 3,5 MB.
**/
function callService(context) {
const MAX_TOTAL_SIZE_BYTES = 3584000;
const file1SizeInput = context.getFirstParameter('rozmiarPliku1');
const file2SizeInput = context.getFirstParameter('rozmiarPliku2');
const file1Size = parseInt(file1SizeInput);
const file2Size = parseInt(file2SizeInput);
const totalSize = file1Size + file2Size;
if (totalSize > MAX_TOTAL_SIZE_BYTES) {
return [{
key: 'pl.error.totalFileSizeExceeded',
parameters: [
file1Size,
file2Size,
'Maksymalny rozmiar wszystkich załączonych plików nie może przekroczyć 3,5 MB.'
]
}];
}
return [];
}/**
* Sprawdza, czy zaznaczono przynajmniej jeden checkbox z przekazanej listy wejściowej.
*/
function callService(context) {
const checkboxValues = context.getParameters('checkBoxValues');
let trueOccurrencesCount = 0;
for (let i = 0; i < checkboxValues.size(); i++) {
if (checkboxValues.get(i) === "true") {
trueOccurrencesCount++;
}
}
if (trueOccurrencesCount < 1) {
return [{
'key': 'pl.error.no.true.values',
'parameters': [checkboxValues, 'Należy wybrać przynajmniej jedną opcję']
}];
}
return [];
}