# Custom Field code

**URL:** <https://forum.wixstudio.com/t/custom-field-code/41200>\
**Category:** Ask the community\
**Tags:** code, question\
**Created:** [June 2, 2022, 11:06am UTC](https://forum.wixstudio.com/t/custom-field-code/41200 "2022-06-02T11:06:04Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![metinazoz](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/metinazoz/32/7974_2.png) [@metinazoz](https://forum.wixstudio.com/u/metinazoz)\
**Post date:** [June 2, 2022, 11:06am UTC](https://forum.wixstudio.com/t/custom-field-code/41200/1 "2022-06-02T11:06:04Z")

</div>

I already put coins as a custom field but it gives an error saying " Type ‘{ firstName: string; lastName: string; emails: string[]; labels: string[]; dealerRequest: string; }’ is not assignable to type ‘ContactInfo’. Object literal may only specify known properties, and ‘“dealerRequest”’ does not exist in type ‘ContactInfo’. It’s recommended you use a new variable, such as “let newVar = …” to make sure that all code completion work correctly."

```javascript

import wixUsers from 'wix-users';

$w.onReady(function () {
    $w('#button1').onClick(function () {
        let email = $w('#input1').value;
        let password = $w('#input2').value;
        let coins = Number($w('#input3').value);
        
        wixUsers.register(email,password, {
          "contactInfo": {
            "coins": coins

          }})})})

```

---

<div class="post-metadata">

**Author:** ![bwprado](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/bwprado/32/7220_2.png) [@bwprado](https://forum.wixstudio.com/u/bwprado)\
**Post date:** [June 2, 2022, 12:14pm UTC](https://forum.wixstudio.com/t/custom-field-code/41200/2 "2022-06-02T12:14:06Z")

</div>

Your code is missing the **coins** property on the **contactInfo** object.  
It should be like this:

```javascript
import wixUsers from 'wix-users'

$w.onReady(function () {
  $w('#button1').onClick(function () {
    let email = $w('#input1').value
    let password = $w('#input2').value
    let coins = Number($w('#input3').value)

    wixUsers.register(email, password, {
        contactInfo: {
          coins,
        },
      },
    })
  })
})

```

But I recommend that you migrate to the new Members API because the Users API is deprecated.

It will be something like this:

 ![](https://us1.discourse-cdn.com/wix/original/3X/f/7/f7e6593d271cdc2c4b7b5cb5ba519335e2f3722a.png)

```javascript
import { authentication } from 'wix-members'

$w.onReady(() => {
  $w('#button1').onClick(async () => {
    let email = $w('#input1').value
    let password = $w('#input2').value
    let coins = Number($w('#input3').value)
    //Create Options Object with contact info and custom fields
    let options = {
      contactInfo: {
        coins,
      },
    }

    try {
      const registrationResult = await authentication.register(
        email,
        password,
        options
      )
      console.log(registrationResult)
    } catch (error) {
      console.error(error)
    }
  })
})

```

---

<div class="post-metadata">

**Author:** ![metinazoz](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/metinazoz/32/7974_2.png) [@metinazoz](https://forum.wixstudio.com/u/metinazoz)\
**Post date:** [June 2, 2022, 5:21pm UTC](https://forum.wixstudio.com/t/custom-field-code/41200/3 "2022-06-02T17:21:14Z")

</div>

It didn’t work. This time it sent this error " Type ‘{ coins: number; }’ is not assignable to type ‘string | number | Date’. Object literal may only specify known properties, and ‘coins’ does not exist in type ‘Date’. It’s recommended you use a new variable, such as “let newVar = …” to make sure that all code completion work correctly."

---

<div class="post-metadata">

**Author:** ![bwprado](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/bwprado/32/7220_2.png) [@bwprado](https://forum.wixstudio.com/u/bwprado)\
**Post date:** [June 2, 2022, 7:50pm UTC](https://forum.wixstudio.com/t/custom-field-code/41200/4 "2022-06-02T19:50:39Z")

</div>

@metinazoz I’m really sorry, my code was not tested, I think it was an old implementation.

I edited for the correct one.

---

<div class="post-metadata">

**Author:** ![metinazoz](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/metinazoz/32/7974_2.png) [@metinazoz](https://forum.wixstudio.com/u/metinazoz)\
**Post date:** [June 3, 2022, 1:35pm UTC](https://forum.wixstudio.com/t/custom-field-code/41200/5 "2022-06-03T13:35:55Z")

</div>

@bwprado This time I used the other code you sent but it didn’t work. It gave an error on options saying "A rgument of type ‘{ contactInfo: { coins: number; }; }’ is not assignable to parameter of type ‘RegistrationOptions’. Types of property ‘contactInfo’ are incompatible. Type ‘{ coins: number; }’ has no properties in common with type ‘ContactInfo’.

```javascript
import { authentication } from 'wix-members'

$w.onReady(() => {
  $w('#button1').onClick(async () => {
    let email = $w('#input1').value
    let password = $w('#input2').value
    let coins = Number($w('#input3').value)
    //Create Options Object with contact info and custom fields
    let options = {
      contactInfo: {
        coins,
      },
    }

    try {
      const registrationResult = await authentication.register(
        email,
        password,
        options //it gave an error here
      )
      console.log(registrationResult)
    } catch (error) {
      console.error(error)
    }
  })
})

```

---

<div class="post-metadata">

**Author:** ![bwprado](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/bwprado/32/7220_2.png) [@bwprado](https://forum.wixstudio.com/u/bwprado)\
**Post date:** [June 3, 2022, 7:47pm UTC](https://forum.wixstudio.com/t/custom-field-code/41200/6 "2022-06-03T19:47:02Z")

</div>

@metinazoz I don’t know what is wrong, although I only tested the code on the backend using this code:

```javascript
import { authentication } from 'wix-members-backend'

export const createMember = async (email, password) => {
    let options = {
        contactInfo: {
            firstName: "Test",
            lastName: "Test",
            coins: 100,
        },
    }

    try {
        const registrationResult = await authentication.register(
            email,
            password,
            options
        )
        console.log(registrationResult)
    } catch (error) {
        console.error(error)
    }
}

```
