UNPKG

ngrx-forms

Version:

Proper integration of forms in Angular 4 applications using ngrx

36 lines 3.15 kB
import { unbox } from 'ngrx-forms'; /** * A validation function that requires the value to be non-`undefined`, non-'null', * and non-empty. * * The validation error returned by this validation function has the following shape: * ```typescript { required: { actual: T | null | undefined; }; } ``` * * Usually you would use this validation function in conjunction with the `validate` * update function to perform synchronous validation in your reducer: * ```typescript updateGroup<MyFormValue>({ name: validate(required), }) ``` */ export function required(value) { value = unbox(value); if (value !== undefined && value !== null && value.length !== 0) { return {}; } return { required: { actual: value, }, }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi92YWxpZGF0aW9uL3NyYy9yZXF1aXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsS0FBSyxFQUFvQixNQUFNLFlBQVksQ0FBQztBQWE1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUksS0FBc0M7SUFDaEUsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQXlCLENBQUM7SUFFN0MsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUssS0FBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDeEUsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE9BQU87UUFDTCxRQUFRLEVBQUU7WUFDUixNQUFNLEVBQUUsS0FBSztTQUNkO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3hlZCwgdW5ib3gsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICduZ3J4LWZvcm1zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWlyZWRWYWxpZGF0aW9uRXJyb3I8VD4ge1xyXG4gIGFjdHVhbDogVCB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8vIEB0cy1pZ25vcmVcclxuZGVjbGFyZSBtb2R1bGUgJ25ncngtZm9ybXMnIHtcclxuICBleHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25FcnJvcnMge1xyXG4gICAgcmVxdWlyZWQ/OiBSZXF1aXJlZFZhbGlkYXRpb25FcnJvcjxhbnk+O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEEgdmFsaWRhdGlvbiBmdW5jdGlvbiB0aGF0IHJlcXVpcmVzIHRoZSB2YWx1ZSB0byBiZSBub24tYHVuZGVmaW5lZGAsIG5vbi0nbnVsbCcsXHJcbiAqIGFuZCBub24tZW1wdHkuXHJcbiAqXHJcbiAqIFRoZSB2YWxpZGF0aW9uIGVycm9yIHJldHVybmVkIGJ5IHRoaXMgdmFsaWRhdGlvbiBmdW5jdGlvbiBoYXMgdGhlIGZvbGxvd2luZyBzaGFwZTpcclxuICpcclxuYGBgdHlwZXNjcmlwdFxyXG57XHJcbiAgcmVxdWlyZWQ6IHtcclxuICAgIGFjdHVhbDogVCB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgfTtcclxufVxyXG5gYGBcclxuICpcclxuICogVXN1YWxseSB5b3Ugd291bGQgdXNlIHRoaXMgdmFsaWRhdGlvbiBmdW5jdGlvbiBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBgdmFsaWRhdGVgXHJcbiAqIHVwZGF0ZSBmdW5jdGlvbiB0byBwZXJmb3JtIHN5bmNocm9ub3VzIHZhbGlkYXRpb24gaW4geW91ciByZWR1Y2VyOlxyXG4gKlxyXG5gYGB0eXBlc2NyaXB0XHJcbnVwZGF0ZUdyb3VwPE15Rm9ybVZhbHVlPih7XHJcbiAgbmFtZTogdmFsaWRhdGUocmVxdWlyZWQpLFxyXG59KVxyXG5gYGBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlZDxUPih2YWx1ZTogVCB8IEJveGVkPFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCk6IFZhbGlkYXRpb25FcnJvcnMge1xyXG4gIHZhbHVlID0gdW5ib3godmFsdWUpIGFzIFQgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCAmJiAodmFsdWUgYXMgYW55KS5sZW5ndGggIT09IDApIHtcclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICByZXF1aXJlZDoge1xyXG4gICAgICBhY3R1YWw6IHZhbHVlLFxyXG4gICAgfSxcclxuICB9O1xyXG59XHJcbiJdfQ==