# Calling #messages(full: true) gives unexpected results

**URL:** <https://discourse.dry-rb.org/t/calling-messages-full-true-gives-unexpected-results/1362>\
**Category:** dry-validation\
**Created:** [October 12, 2021, 1:00pm UTC](https://discourse.dry-rb.org/t/calling-messages-full-true-gives-unexpected-results/1362 "2021-10-12T13:00:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![luckywine420](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/luckywine420/32/712_2.png) [@luckywine420](https://discourse.dry-rb.org/u/luckywine420)\
**Post date:** [October 12, 2021, 1:00pm UTC](https://discourse.dry-rb.org/t/calling-messages-full-true-gives-unexpected-results/1362/1 "2021-10-12T13:00:18Z")

</div>

Hi  
Consider this form:

```auto
class Form < Dry::Validation::Contract
  params do
    required(:list).maybe(:array)
  end

  rule(:list) do 
    unless value.nil?
      value.each_with_index do |value, index|
        key([:list, index]).failure("is in invalid format") unless my_method(value)
      end
    end
  end
end

```

When I do:  
form = Form.new.call({list: [1, 11,144]})  
form.messages(full: true)  
I get:  
{:list =\> {0 =\>[“1 is in invalid format”]} }  
but I was expecting  
{:list =\> {0 =\>[“list is in invalid format”]} }

Do you know how I can achieve this?
