diff --git a/remerkleable/complex.py b/remerkleable/complex.py
index c92fa0c..e65160f 100644
--- a/remerkleable/complex.py
+++ b/remerkleable/complex.py
@@ -668,8 +668,12 @@ class Container(ComplexView):
                 raise Exception("cannot have both a backing and elements to init List")
             return super().__new__(cls, backing=backing, hook=hook, **kwargs)
 
+        diff = set(kwargs.keys()).difference(set(cls.fields().keys()))
+        if len(diff) > 0:
+            raise AttributeError(f'The field names {diff} are not defined in {cls}')
+
         input_nodes = []
-        for i, (fkey, ftyp) in enumerate(cls.fields().items()):
+        for fkey, ftyp in cls.fields().items():
             fnode: Node
             if fkey in kwargs:
                 finput = kwargs.pop(fkey)

Check if the field name is valid when initialize a Container object
### Issue
Currently, the following call is valid:

```sh
>>> from eth2spec.phase0 import spec
>>> x = spec.AttestationData(bar=1000)
>>> x
AttestationData(Container)
    slot: Slot = 0
    index: CommitteeIndex = 0
    beacon_block_root: Root = 0x0000000000000000000000000000000000000000000000000000000000000000
    source: Checkpoint = Checkpoint(Container)
                             epoch: Epoch = 0
                             root: Root = 0x0000000000000000000000000000000000000000000000000000000000000000
    target: Checkpoint = Checkpoint(Container)
                             epoch: Epoch = 0
                             root: Root = 0x0000000000000000000000000000000000000000000000000000000000000000
```

 I suppose it should have thrown an exception since `bar` is not a valid field in `AttestationData`. 

### How to solve it
Add check in `Container.__new__`
```python
        diff = set(kwargs.keys()).difference(set(fields.keys()))
        if len(diff) > 0:
            raise Exception(f'The field name {diff} is not defined in {cls}')
```
diff --git a/remerkleable/test_typing.py b/remerkleable/test_typing.py
index 87fed19..dd20833 100644
--- a/remerkleable/test_typing.py
+++ b/remerkleable/test_typing.py
@@ -164,6 +164,12 @@ def test_container():
     except AttributeError:
         pass
 
+    try:
+        Foo(wrong_field_name=100)
+        assert False
+    except AttributeError:
+        pass
+
 
 def test_container_unpack():
     class Foo(Container):

pip install -e .[dev]
parse_log_pytest
pytest
pytest
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
exceptiongroup @ file:///croot/exceptiongroup_1706031385326/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
packaging @ file:///croot/packaging_1734472117206/work
pluggy @ file:///croot/pluggy_1733169602837/work
pytest @ file:///croot/pytest_1738938843180/work
-e git+https://github.com/protolambda/remerkleable.git@1a9b6bbea6f6737f5eed9deee6922a7ff7c1d49f#egg=remerkleable
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work

name: remerkleable
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - exceptiongroup=1.2.0=py39h06a4308_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - packaging=24.2=py39h06a4308_0
  - pip=25.0=py39h06a4308_0
  - pluggy=1.5.0=py39h06a4308_0
  - pytest=8.3.4=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py39h06a4308_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
prefix: /opt/conda/envs/remerkleable

remerkleable/test_typing.py::test_container
remerkleable/test_typing.py::test_subclasses remerkleable/test_typing.py::test_basic_instances remerkleable/test_typing.py::test_basic_value_bounds remerkleable/test_typing.py::test_container_unpack remerkleable/test_typing.py::test_list remerkleable/test_typing.py::test_bytesn_subclass remerkleable/test_typing.py::test_uint_math remerkleable/test_typing.py::test_container_depth remerkleable/test_typing.py::test_tree_depth[0-0] remerkleable/test_typing.py::test_tree_depth[1-0] remerkleable/test_typing.py::test_tree_depth[2-1] remerkleable/test_typing.py::test_tree_depth[3-2] remerkleable/test_typing.py::test_tree_depth[4-2] remerkleable/test_typing.py::test_tree_depth[5-3] remerkleable/test_typing.py::test_tree_depth[6-3] remerkleable/test_typing.py::test_tree_depth[7-3] remerkleable/test_typing.py::test_tree_depth[8-3] remerkleable/test_typing.py::test_tree_depth[9-4] remerkleable/test_typing.py::test_paths remerkleable/test_typing.py::test_bitvector remerkleable/test_typing.py::test_bitvector_iter remerkleable/test_typing.py::test_bitlist remerkleable/test_typing.py::test_bitlist_iter
remerkleable/complex.py
remerkleable/complex.py