simple-validator-js
Version:
Simple form validator and autocorrector.
40 lines (31 loc) • 1.39 kB
text/typescript
import { getErrorInLanguage, Validation } from "..";
import { ErrorTexts } from "../strings/ErrorTexts";
import { StringTools } from "../tools/StringTools";
export class StringMatchingValidators {
public static shouldStartWith(validation: Validation, textToMatch: string, autocorrect: boolean): Validation {
if (validation.result.text.startsWith(textToMatch)) {
return validation;
}
if (!autocorrect || validation.result.text.length < textToMatch.length) {
validation.result.isValid = false;
validation.result.errors.push({
description: getErrorInLanguage(StringTools.specialCharReplace(ErrorTexts.START_WITH, textToMatch)),
locations: [0],
});
} else {
validation.result.text = textToMatch + validation.result.text;
}
return validation;
}
public static shouldEndWith(validation: Validation, textToMatch: string): Validation {
if (validation.result.text.endsWith(textToMatch)) {
return validation;
}
validation.result.isValid = false;
validation.result.errors.push({
description: getErrorInLanguage(StringTools.specialCharReplace(ErrorTexts.END_WITH, textToMatch)),
locations: [validation.result.text.length - 1],
});
return validation;
}
}