Skip to content

Commit

Permalink
docs: explain the usage of allErrors with checkbox group (#735)
Browse files Browse the repository at this point in the history
  • Loading branch information
edmundhung authored Aug 11, 2024
1 parent e23198a commit d71c693
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 14 deletions.
4 changes: 2 additions & 2 deletions docs/checkbox-and-radio-group.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ function Example() {

## Checkbox

Setting up a checkbox group would be similar to a radio group except the initialValue can be either a string or an array because of missing information on the server side whether the checkbox is a boolean or a group. You can derive the **defaultChecked** value from the initialValue as shown below.
Setting up a checkbox group would be similar to a radio group except the initialValue can be either a string or an array because of missing information on the server side whether the checkbox is a boolean or a group. You can derive the **defaultChecked** value from the initialValue as shown below. As the errors from both yup and zod are mapped based on the corresponding paths and the errors of each option will be mapped to its corresponding index, e.g. `answer[0]` instead of the array itself, e.g. `answers`. If you want to display all the errors, you can consider using the **allErrors** property on the field metadata instead.

```tsx
import { useForm } from '@conform-to/react';
Expand Down Expand Up @@ -65,7 +65,7 @@ function Example() {
/>
</div>
))}
<div>{fields.answer.errors}</div>
<div>{Object.values(fields.answer.allErrors).flat()}</div>
</fieldset>
<button>Submit</button>
</form>
Expand Down
6 changes: 1 addition & 5 deletions docs/file-upload.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,7 @@ function Example() {
<div>
<label>Mutliple Files</label>
<input type="file" name={fields.files.name} multiple />
<div>
{Object.entries(fields.files.allErrors).flatMap(
([, messages]) => messages,
)}
</div>
<div>{Object.values(fields.files.allErrors).flat()}</div>
</div>
<button>Upload</button>
</form>
Expand Down
2 changes: 1 addition & 1 deletion docs/ja/checkbox-and-radio-group.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## ラジオグループ

ラジオグループを設定するには、すべての入力で **name** 属性が同じであることを確認してください。また、フィールドメタデータから initialValue を使用して、ラジオボタンがチェックされるべきかを導き出すこともできます。
ラジオグループを設定するには、すべての入力で **name** 属性が同じであることを確認してください。また、フィールドメタデータから initialValue を使用して、ラジオボタンがチェックされるべきかを導き出すこともできます。yup および zod からのエラーは、対応するパスに基づいてマッピングされ、各選択のエラーは、配列自体(例: `answers` )ではなく、対応するインデックス(例: `answer[0]` )にマッピングされます。すべてのエラーを表示したい場合は、フィールドメタデータの **allErrors** プロパティを代わりに使用することを検討できます。

```tsx
import { useForm } from '@conform-to/react';
Expand Down
8 changes: 2 additions & 6 deletions docs/ja/file-upload.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ function Example() {

## 複数のファイル

複数のファイルをアップロードできるようにするには、ファイル入力に **multiple** 属性を設定する必要があります。フィールドメタデータのエラーが各ファイルのすべてのエラーを含んでいない可能性があることに注意することが重要です。 yup および zod からのエラーは、対応するパスに基づいてマッピングされ、各ファイルのエラーは、配列自体(例: `files` )ではなく、対応するインデックス(例: `files[0]` )にマッピングされます。すべてのエラーを表示したい場合は、フィールドメタデータの **allErrors** プロパティを代わりに使用することを検討できます。
複数のファイルをアップロードできるようにするには、ファイル入力に **multiple** 属性を設定する必要があります。フィールドメタデータのエラーが各ファイルのすべてのエラーを含んでいない可能性があることに注意することが重要です。 yup および zod からのエラーは、対応するパスに基づいてマッピングされ、各選択のエラーは、配列自体(例: `files` )ではなく、対応するインデックス(例: `files[0]` )にマッピングされます。すべてのエラーを表示したい場合は、フィールドメタデータの **allErrors** プロパティを代わりに使用することを検討できます。

```tsx
import { useForm } from '@conform-to/react';
Expand Down Expand Up @@ -70,11 +70,7 @@ function Example() {
<div>
<label>Mutliple Files</label>
<input type="file" name={fields.files.name} multiple />
<div>
{Object.entries(fields.files.allErrors).flatMap(
([, messages]) => messages,
)}
</div>
<div>{Object.values(fields.files.allErrors).flat()}</div>
</div>
<button>Upload</button>
</form>
Expand Down

0 comments on commit d71c693

Please sign in to comment.