Changes between Version 9 and Version 10 of programmersguide/architecture/web/core/semantics/Format


Ignore:
Timestamp:
12/07/16 13:37:11 (10 years ago)
Author:
raphael.costa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • programmersguide/architecture/web/core/semantics/Format

    v9 v10  
    6969      } 
    7070  }}} 
     71  Outras chaves permitidas: 
     72    * **pattern** Permite especificar uma regex para qual o campo deve atender. Caso o valor informado pelo usuário não confere com a expressão, o campo ficará inválido até que o usuário preencha corretamente. 
     73    {{{ 
     74      "alias": { 
     75        "key": "string", 
     76        "title": "Alias", 
     77        "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$" # Somente caracteres alfa-numericos e _ e não pode começar com numero; 
     78      } 
     79    }}} 
    7180  * **required** Define quais campos serão obrigatórios na interface 
    7281* **form** Define como os elementos serão desenhados na interface, bem como a ordem deles. Este bloco deve ser obrigatoriamente uma cadeia (array) de elementos. Podemos definir das seguintes maneiras: 
     
    93102  }}} 
    94103 
     104  Cada objeto refere-se a um campo. Podemos também acrescentar novas chaves: 
     105    * **onChange** Define que toda iteração com o campo na interface será disparado uma função. Por padrão, o framework injeta dois parâmetros: **form** e **modelValue** que define a chave do campo e o valor respectivamente. **Lembre-se** que o TerraMA² disponibilizará funções disponíveis em [TODO]. Use o seguinte prefixo: {{{"onChange": "SemanticsHelpers.methodo(parametros)"}}} 
     106    {{{ 
     107    "form": [ 
     108      ... campos, 
     109      { 
     110        "key": "alias", 
     111        "htmlClasses": "col-md-6", 
     112        "onChange": "SemanticsHelpers.only(form.key, modelValue)" # Esse metodo pega o regex definido no campo e limita para somente permitir os valores que condizem com a regex. Qualquer outro valor será removido: "meuAlia's" => "meuAlias" 
     113      }, 
     114    ]  
     115    }}} 
     116 
     117    * **notitle** Define se deve esconder o titulo do campo na interface. Default: **false** 
     118    * **validationMessage** Define mensagens de erros customizadas. Por exemplo, utilizando o **pattern** coloca código **202**. Logo se desejar alterar a mensagem padrão, faça o seguinte: 
     119    {{{ 
     120    "form": [ 
     121      ... campos, 
     122      { 
     123        "key": "alias", 
     124        "htmlClasses": "col-md-6", 
     125        "validationMessage": { 
     126           "202": "Invalid alias value. Only alpha-numeric chars and _ are allowed." 
     127        } 
     128      }, 
     129    ]  
     130    }}} 
     131 
    95132 
    96133=== Criando uma nova semantica ===