Skip to content
This repository was archived by the owner on Nov 26, 2021. It is now read-only.

Commit c688ceb

Browse files
committed
0.15.1
1 parent ad0ae9a commit c688ceb

23 files changed

+528
-432
lines changed

README-zh_CN.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,12 @@ export default formConnect(schemas, methods)(BasicForm);
102102
error: 'valid-error',
103103
}}
104104
values={this.state.formValues}
105-
delay={100}
106105
/>
107106
```
108107

109108

110109
* `values` 的值类似于 { email: '', hobby: ['2'] }
111110
* `classNames``values` 也可以在 `BasicForm` 中使用 `init` 方法初始化
112-
* `delay` 防抖
113111

114112
基础验证方法可以参考 [validate-framework-utils](https://github.com/MinJieLiu/validate-framework-utils)
115113

@@ -122,7 +120,7 @@ export default formConnect(schemas, methods)(BasicForm);
122120
* `Textarea`
123121
* `Message`
124122

125-
表单 `name` 属性是必需的,其他参数可以被覆盖。
123+
表单域 `name` 属性是必需的`delay` 为验证防抖,其他参数可以被覆盖。
126124

127125
当然,你也可以使用自定义的表单受控组件,只需指定 `value``onChange`
128126

@@ -154,7 +152,6 @@ return (
154152
| :--- | :--- | :--- | :--- | :--- |
155153
| values | Object | false | | `values` 集合 |
156154
| classNames | Object | false | {} | 其 key 值包含 `static``success``error` 三种类名 |
157-
| delay | number | false | | 验证防抖 |
158155

159156
#### Form params
160157

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,10 @@ const BasicForm = () => (
6969
<Text
7070
name="email"
7171
placeholder="Please input your email"
72+
delay={100} // Asynchronous validation
7273
/>
7374
<Message className="valid-error-message" name="email" />
75+
<Text name="phone" />
7476
</div>
7577
);
7678
```
@@ -91,14 +93,12 @@ Finally, sets the initialized value:
9193
error: 'valid-error',
9294
}}
9395
values={this.state.formValues}
94-
delay={100}
9596
/>
9697

9798
```
9899

99100
* The values like this { email: '', hobby: ['2'] }
100101
* classNames and values can be initialized in `BasicForm` use `init`
101-
* `delay` debounce
102102

103103
Validate methods can refer to [validate-framework-utils](https://github.com/MinJieLiu/validate-framework-utils)
104104

@@ -111,7 +111,7 @@ Validate methods can refer to [validate-framework-utils](https://github.com/MinJ
111111
* `Textarea`
112112
* `Message`
113113

114-
The `name` attribute is required in form components, Other parameters can be overridden.
114+
The `name` attribute is required in form components, `delay` debounce, Other parameters can be overridden.
115115

116116
Of course, you can also use unencapsulated form components, just specify `value` and` onChange` on the line:
117117

@@ -143,7 +143,6 @@ return (
143143
| :--- | :--- | :--- | :--- | :--- |
144144
| values | Object | false | | Key-value pairs for `name` and` value` |
145145
| classNames | Object | false | {} | Its `key` value contains` static`, `success`,` error` |
146-
| delay | number | false | | debounce |
147146

148147
#### Form params
149148

example/BasicForm.jsx

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
/**
2-
* Created by MingYi on 2016/12/23.
3-
*/
4-
51
import React, { Component } from 'react';
62
import PropTypes from 'prop-types';
73
import classNames from 'classnames';
@@ -19,8 +15,8 @@ import ChildForm from './ChildForm';
1915
// Rules and messages
2016
const schemas = {
2117
email: {
22-
rules: 'required | isEmail | maxLength(32)',
23-
messages: 'Can not be empty! | Please enter a valid email address. | Can not exceed {{param}} characters.',
18+
rules: 'required | isEmail | maxLength(32) | remoteRule',
19+
messages: 'Can not be empty! | Please enter a valid email address. | Can not exceed {{param}} characters. | The email already exists',
2420
},
2521
phone: {
2622
rules: 'isPhone',
@@ -65,6 +61,13 @@ const methods = {
6561
const otherField = this.fields[param];
6662
return this.required(field) || (otherField.result && this.required(otherField));
6763
},
64+
async remoteRule(field) {
65+
await sleep(1000);
66+
if (field.value) {
67+
return field.value !== 'example@example.com';
68+
}
69+
return false;
70+
},
6871
async selectLimit(field, param) {
6972
// Simulation
7073
await sleep(1000);
@@ -106,6 +109,7 @@ class BasicForm extends Component {
106109
name="email"
107110
type="email"
108111
placeholder="Please input your email"
112+
delay={200}
109113
/>
110114
<Message className="valid-error-message" name="email" />
111115
</div>
@@ -181,6 +185,7 @@ class BasicForm extends Component {
181185
id="hobby1"
182186
name="hobby"
183187
value="1"
188+
delay={200}
184189
/>
185190
hobby1
186191
</label>
@@ -189,6 +194,7 @@ class BasicForm extends Component {
189194
id="hobby2"
190195
name="hobby"
191196
value="2"
197+
delay={200}
192198
/>
193199
hobby2
194200
</label>
@@ -197,6 +203,7 @@ class BasicForm extends Component {
197203
id="hobby3"
198204
name="hobby"
199205
value="3"
206+
delay={200}
200207
/>
201208
hobby3
202209
</label>
@@ -205,6 +212,7 @@ class BasicForm extends Component {
205212
id="hobby4"
206213
name="hobby"
207214
value="4"
215+
delay={200}
208216
/>
209217
hobby4
210218
</label>

lib/Field.js

Lines changed: 0 additions & 64 deletions
This file was deleted.

lib/Field.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)