<commit_before>import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  public customForm: any[] = [
    {
      'code': 'G-01',
      'description': 'Consumo de Água',
      'type': 'datatable',
      'validations': [
        { 'type': 'required', 'message': 'Você deve inserir pelo menos 2 registros nesta tabela.' },
        { 'type': 'minlength', 'message': 'Você deve inserir pelo menos 2 registros nesta tabela.', 'value': 2 },
        { 'type': 'maxlength', 'message': 'Você pode inserir até 3 registros nesta tabela.', 'value': 3 }
      ],
      'questions': [
        {
          'code': 'P-201',
          'description': 'Origem',
          'type': 'select',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' }
          ],
          'options': ['Rede Pública', 'Água Subterrânea', 'Água Superficial'],
          'placeholder': 'Selecione'
        },
        {
          'code': 'P-202',
          'description': 'Consumo Médio (m³/dia)',
          'type': 'text',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' },
            { 'type': 'pattern', 'message': 'Este campo deve ter o formato XX0.00', 'regex': '^\\d+\.\\d{2}$' }
          ],
          'placeholder': null,
          'mask': 'decimal(10,2)'
        },
        {
          'code': 'P-203',
          'description': 'Uso',
          'type': 'select',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' }
          ],
          'options': ['Doméstico', 'Industrial', 'Doméstico e Industrial'],
          'placeholder': 'Selecione'
        },
        {
          'code': 'P-204',
          'description': 'Vazão (m³/dia)',
          'type': 'text',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' },
            { 'type': 'pattern', 'message': 'Este campo deve ter o formato XX0.00', 'regex': '^\\d+\.\\d{2}$' }
          ],
          'placeholder': null,
          'mask': '00000000.00?reverse=true'
        }
      ]/*,
      'answers': [
        [
          {
            'code': 'P-201',
            'description': 'Origem',
            'type': 'select',
            'options': ['Rede Pública', 'Água Subterrânea', 'Água Superficial'],
            'placeholder': 'Selecione',
            'answer': 'Água Subterrânea'
          },
          {
            'code': 'P-202',
            'description': 'Consumo Médio (m³/dia)',
            'type': 'text',
            'placeholder': null,
            'answer': '123'
          },
          {
            'code': 'P-203',
            'description': 'Uso',
            'type': 'select',
            'options': ['Doméstico', 'Industrial', 'Doméstico e Industrial'],
            'placeholder': 'Selecione',
            'answer': 'Doméstico'
          },
          {
            'code': 'P-204',
            'description': 'Vazão (m³/dia)',
            'type': 'text',
            'placeholder': null,
            'answer': '456'
          }
        ],
        [
          {
            'code': 'P-201',
            'description': 'Origem',
            'type': 'select',
            'options': ['Rede Pública', 'Água Subterrânea', 'Água Superficial'],
            'placeholder': 'Selecione',
            'answer': 'Rede Pública'
          },
          {
            'code': 'P-202',
            'description': 'Consumo Médio (m³/dia)',
            'type': 'text',
            'placeholder': null,
            'answer': '987'
          },
          {
            'code': 'P-203',
            'description': 'Uso',
            'type': 'select',
            'options': ['Doméstico', 'Industrial', 'Doméstico e Industrial'],
            'placeholder': 'Selecione',
            'answer': 'Doméstico e Industrial'
          },
          {
            'code': 'P-204',
            'description': 'Vazão (m³/dia)',
            'type': 'text',
            'placeholder': null,
            'answer': '321'
          }
        ]
      ]*/
    },
    {
      'code': 'G-02',
      'description': 'Serviços',
      'type': 'fieldset',
      'questions': [
        {
          'code': 'P-001',
          'description': 'Question Check',
          'type': 'check',
          'defaultOption': false,
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório', 'requiredTrue': true }
          ]
        },
        {
          'code': 'P-002',
          'description': 'Question Radio',
          'type': 'radio',
          'options': ['Option 1', 'Option 2'],
          'defaultOption': 'Option 1',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' }
          ]//,
          //'answer': 'Option 2'
        },
        {
          'code': 'P-003',
          'description': 'Question Select',
          'type': 'select',
          'options': ['Option 1', 'Option 2'],
          'placeholder': 'Selecione',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' }
          ]
        },
        {
          'code': 'P-004',
          'description': 'Question Text 1',
          'type': 'text',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' },
            // { 'type': 'minlength', 'message': 'Este campo tem o tamanho mínimo de 3 caracteres', 'value': 3 },
            // { 'type': 'maxlength', 'message': 'Este campo tem o tamanho máximo de 6 caracteres', 'value': 6 }
            { 'type': 'minimo', 'message': 'Este campo deve ter o valor mínimo de 10', 'value': 10 },<commit_msg>Fixes validation message in test JSON<commit_after>import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  public customForm: any[] = [
    {
      'code': 'G-01',
      'description': 'Consumo de Água',
      'type': 'datatable',
      'validations': [
        { 'type': 'required', 'message': 'Você deve inserir pelo menos 2 registros nesta tabela.' },
        { 'type': 'minlength', 'message': 'Você deve inserir pelo menos 2 registros nesta tabela.', 'value': 2 },
        { 'type': 'maxlength', 'message': 'Você pode inserir até 3 registros nesta tabela.', 'value': 3 }
      ],
      'questions': [
        {
          'code': 'P-201',
          'description': 'Origem',
          'type': 'select',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' }
          ],
          'options': ['Rede Pública', 'Água Subterrânea', 'Água Superficial'],
          'placeholder': 'Selecione'
        },
        {
          'code': 'P-202',
          'description': 'Consumo Médio (m³/dia)',
          'type': 'text',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' },
            { 'type': 'pattern', 'message': 'Este campo deve ter o formato XX0.00', 'regex': '^\\d+\.\\d{2}$' }
          ],
          'placeholder': null,
          'mask': 'decimal(10,2)'
        },
        {
          'code': 'P-203',
          'description': 'Uso',
          'type': 'select',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' }
          ],
          'options': ['Doméstico', 'Industrial', 'Doméstico e Industrial'],
          'placeholder': 'Selecione'
        },
        {
          'code': 'P-204',
          'description': 'Vazão (m³/dia)',
          'type': 'text',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' },
            { 'type': 'pattern', 'message': 'Este campo deve ter o formato XX0.00', 'regex': '^\\d+\.\\d{2}$' }
          ],
          'placeholder': null,
          'mask': '00000000.00?reverse=true'
        }
      ]/*,
      'answers': [
        [
          {
            'code': 'P-201',
            'description': 'Origem',
            'type': 'select',
            'options': ['Rede Pública', 'Água Subterrânea', 'Água Superficial'],
            'placeholder': 'Selecione',
            'answer': 'Água Subterrânea'
          },
          {
            'code': 'P-202',
            'description': 'Consumo Médio (m³/dia)',
            'type': 'text',
            'placeholder': null,
            'answer': '123'
          },
          {
            'code': 'P-203',
            'description': 'Uso',
            'type': 'select',
            'options': ['Doméstico', 'Industrial', 'Doméstico e Industrial'],
            'placeholder': 'Selecione',
            'answer': 'Doméstico'
          },
          {
            'code': 'P-204',
            'description': 'Vazão (m³/dia)',
            'type': 'text',
            'placeholder': null,
            'answer': '456'
          }
        ],
        [
          {
            'code': 'P-201',
            'description': 'Origem',
            'type': 'select',
            'options': ['Rede Pública', 'Água Subterrânea', 'Água Superficial'],
            'placeholder': 'Selecione',
            'answer': 'Rede Pública'
          },
          {
            'code': 'P-202',
            'description': 'Consumo Médio (m³/dia)',
            'type': 'text',
            'placeholder': null,
            'answer': '987'
          },
          {
            'code': 'P-203',
            'description': 'Uso',
            'type': 'select',
            'options': ['Doméstico', 'Industrial', 'Doméstico e Industrial'],
            'placeholder': 'Selecione',
            'answer': 'Doméstico e Industrial'
          },
          {
            'code': 'P-204',
            'description': 'Vazão (m³/dia)',
            'type': 'text',
            'placeholder': null,
            'answer': '321'
          }
        ]
      ]*/
    },
    {
      'code': 'G-02',
      'description': 'Serviços',
      'type': 'fieldset',
      'questions': [
        {
          'code': 'P-001',
          'description': 'Question Check',
          'type': 'check',
          'defaultOption': false,
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório', 'requiredTrue': true }
          ]
        },
        {
          'code': 'P-002',
          'description': 'Question Radio',
          'type': 'radio',
          'options': ['Option 1', 'Option 2'],
          'defaultOption': 'Option 1',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' }
          ]//,
          //'answer': 'Option 2'
        },
        {
          'code': 'P-003',
          'description': 'Question Select',
          'type': 'select',
          'options': ['Option 1', 'Option 2'],
          'placeholder': 'Selecione',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' }
          ]
        },
        {
          'code': 'P-004',
          'description': 'Question Text 1',
          'type': 'text',
          'validations': [
            { 'type': 'required', 'message': 'Este campo é obrigatório' },
            // { 'type': 'minlength', 'message': 'Este campo tem o tamanho mínimo de 3 caracteres', 'value': 3 },
            // { 'type': 'maxlength', 'message': 'Este campo tem o tamanho máximo de 6 caracteres', 'value': 6 }
            { 'type': 'min', 'message': 'Este campo deve ter o valor mínimo de 10', 'value': 10 },
{'fraction_non_alphanumeric': 0.18087944238877893, 'fraction_numerical': 0.018070734016005507, 'mean_word_length': 1.5976754582029504, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1274888', 'n_tokens_mistral': 3728, 'n_tokens_neox': 3643, 'n_words': 851}