Skip to content

Commit

Permalink
feat: add setValues api.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaywcjlove committed Oct 26, 2021
1 parent aaf2aa5 commit 8bc7d46
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 3 deletions.
7 changes: 7 additions & 0 deletions packages/core/__tests__/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ it('validator.tool', async () => {
expect(validator.fieldValid('email')).toBeTruthy();
expect(validator.getForm()).toBeUndefined();
expect(validator.reset()).toBeUndefined();
expect(validator.setValues({ email: 'test' })).toBeUndefined();
expect(validator.fieldValid('email')).toBeTruthy();
expect(validator.values.email).toEqual('test');
});

it('validator.tool options validate', async () => {
Expand All @@ -34,6 +37,8 @@ it('validator.tool options validate', async () => {
validate: (val: string) => `Hi! ${val}.`
})).toBeUndefined();
expect(validator.errorMessages.email).toEqual('Hi! kennyiseeyougmail.com.');
expect(validator.setValues({ email: 'test' })).toBeUndefined();
expect(validator.fieldValid('email')).toBeFalsy();
});

it('validator.tool options', async () => {
Expand Down Expand Up @@ -121,4 +126,6 @@ it('validator.tool form options', async () => {
expect(validator.message('email', 'hello@gmail.com')).toBeUndefined();
expect(validator.allValid()).toBeTruthy();
expect(typeof validator.reset()).toEqual('object');
// expect(validator.setValues({ email: 'test' })).toBeUndefined();
// expect(validator.fieldValid('email')).toBeFalsy();
});
1 change: 1 addition & 0 deletions packages/core/dist/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export default class Validator {
setForm: (form: HTMLFormElement) => void;
/** How you define validation rules and add messages into the form. */
message: (field: string, inputValue?: Value | undefined, options?: RulesOption | undefined) => string | undefined;
setValues: (values?: Values) => void;
getValues: () => Partial<Record<string, Value>>;
reset: () => Partial<Record<string, Value>> | undefined;
fieldValid: (field: string) => boolean;
Expand Down
9 changes: 9 additions & 0 deletions packages/core/dist/validator.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/core/dist/validator.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/core/dist/validator.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/core/dist/validator.min.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions packages/core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,13 @@ export default class Validator {
}
return;
};
setValues = (values: Values = {}) => {
if (!this.form) {
for (let val in values) {
this.message(val, values[val]);
}
}
}
getValues = () => {
if (this.form) {
this.setForm(this.form);
Expand Down

0 comments on commit 8bc7d46

Please sign in to comment.