Useful helper class to work with validation errors.
Returns an instance of the ValidationErrors class.
Example:
import {ValidationErrors} from 'uikernel';
const validationErrors = new ValidationErrors();
const validationErrors = ValidationErrors.createFromJSON(jsonObject);
Convert object with a description of errors into ValidationErrors instance.
Parameters:
Type | Name | Description |
---|---|---|
Object | jsonObject | An ValidationErrors description Object that will be turned into its instance. Expected structure: |
{field1: [“field1 error1”], field2: [“field2 error1”, “field2 error2”], …} |
Returns: new ValidationErrors
instance.
Example:
const validationErrors = ValidationErrors.createFromJSON({
login: "invalid login!",
pass: "invalid password!"
});
Create ValidationErrors instance with one error.
Parameters:
Type | Name | Description |
---|---|---|
string | field | Field name |
string | error | Error text |
Returns: new ValidationErrors
instance.
Example:
const validationErrors = ValidationErrors.createWithError('message', 'Massage is required');
const validationErrors = ValidationErrors.merge(error1, error2, ..., errorN);
Unites several ValidationErrors instances into one.
Parameters:
Type | Name | Description |
---|---|---|
ValidationErrors | error1 | A ValidationErrors instance to be united with others passed in arguments |
ValidationErrors | error2 | (Optional) A ValidationErrors instance to be united with others passed in arguments |
ValidationErrors | errorN | (Optional) A ValidationErrors instance to be united with others passed in arguments |
Returns: new ValidationErrors
instance.
validationErrors.add(field, errorText);
Add en error into the ValidationErrors instance.
Parameters:
Type | Name | Description |
---|---|---|
string | field | Field name |
string | errorText | Error text |
Returns: this
Example:
validationErrors
.add("email", "The email field is invalid!")
.add("phone", "The phone number field is invalid!");
validationErrors.clear();
Clear errors list.
Returns: this
validationErrors.clearField(field);
Clear errors of the specified field.
Parameters:
Type | Name | Description |
---|---|---|
string | field | Name of the field to be cleared from errors |
Returns: this
Example:
validationErrors.clearField("email");
const validationErrors2 = validationErrors.clone();
Return a new instance cloning this, so that the new instance will have the same structure, but a new memory address.
Returns: this
const myErrors = validationErrors.getErrors();
Get errors entries of this ValidationErrors instance.
Returns: Array with the following structure: [[“field1”, [“field1 error1”]], [“field2”, [“field2 error1”, “field2 error2”]], …]
Example:
for(let [field, error] of validationErrors.getErrors())
console.log(field, ": ", error);
const fieldsWithErrors = validationErrors.getFailedFields();
Get field names array, that contain errors.
Returns: string[] or null(if there is no errors)
Example:
const fieldsWithErrors3 = validationErrors.getFailedFields(); //["login", "pass", "phone"]
const fieldsWithErrors7 = validationErrors.getFailedFields(); //null
const loginErrors = validationErrors.getFieldErrorMessages(field);
Get errors messages of the specified field.
Parameters:
Type | Name | Description |
---|---|---|
string | field | Field name to get errors of |
Returns: string[] or null(if there is no errors)
Example:
const loginErrors = validationErrors.getFieldErrorMessages("login"); //["invalid login!"]
const loginIsValid = validationErrors.hasError(field);
Check if the field has any errors.
Parameters:
Type | Name | Description |
---|---|---|
string | field | Field name to check validity of |
Returns: Boolean
Example:
const loginIsValid = validationErrors.hasError("login"); //false
const formIsValid = validationErrors.isEmpty(field);
Check if this ValidationErrors instance has any field with errors.
Returns: Boolean
Example:
const formIsValid = validationErrors.isEmpty(); //true
const formErrorsObj = validationErrors.toJSON();
Convert this ValidationErrors instance to plain JS Object.
Returns: Object with the following structure: {field1: [“field1 error1”], field2: [“field2 error1”, “field2 error2”], …}
Example:
const formErrorsObj = validationErrors.toJSON();
// formErrorsObj === {
// login: ["invalid login!"],
// pass: ["invalid password!"],
// phone: ["The phone number field is invalid!"]
// }