zoukankan      html  css  js  c++  java
  • [AngularJS] angular-schema-form -- 1

    Check out on gitHub, see the example on Demo page, see the document, extension.

    Mainly, there are three parts consist of Javascript part:

    form,  schema  and model.

    Schema


    I like define the schema first. Usually you will use two props:

    typeproperties & required.

    {
      "type": "object",
      "title": "Somehting ele",
      "properties": {
        "email": {
          "title": "Email",
          "type": "string",
          "pattern": "^\S+@\S+$",
          "description": "Email will be used for evil."
        }
      },
      "required": [
        "email"
      ]
    }

    In 'properties', is the place where you define the form elements. For example - "email".

    Form


    Then in the form, if you thing the schema setting is ok, then in form:

    [
       "email"   
    ]

    Also you can overwrite the form: for example,  I want to over the title, add a placeholder.

    {
          "key": "email",
          "type": "string",
          "title": "Email filed",
          "placeholder": "Email"
      }

    "key" in the example matchs to the "email" in the shcema.

    A good example for input field:

    Schema:

    "email": {
          "title": "Email",
          "type": "string",
          "pattern": "^\S+@\S+$",
          "maxlength": 120,
          "minlength": 3,
    "validationMessage": "This is not an email"
    "description": "Email will be used for evil." }

    Form:

      {
          "key": "email",
          "type": "string",
          "title": "Email filed",
          "placeholder": "Email"
      }

    Standard Options for form:

    {
      key: "address.street",      // The dot notatin to the attribute on the model
      type: "text",               // Type of field
      title: "Street",            // Title of field, taken from schema if available
      notitle: false,             // Set to true to hide title
      description: "Street name", // A description, taken from schema if available, can be HTML
      validationMessage: "Oh noes, please write a proper address",  // A custom validation error message
      onChange: "valueChanged(form.key,modelValue)", // onChange event handler, expression or function
      feedback: false,             // Inline feedback icons
      placeholder: "Input...",     // placeholder on inputs and textarea
      ngModelOptions: { ... },     // Passed along to ng-model-options
      readonly: true,              // Same effect as readOnly in schema. Put on a fieldset or array
                                   // and their items will inherit it.
      htmlClass: "street foobar",  // CSS Class(es) to be added to the container div
      fieldHtmlClass: "street"     // CSS Class(es) to be added to field input (or similar)
    }
  • 相关阅读:
    Linux修改主机名称
    Tachyon---基于内存的分布式存储系统
    机器学习中的基本数学知识
    Spark集群 + Akka + Kafka + Scala 开发(4) : 开发一个Kafka + Spark的应用
    Spark集群 + Akka + Kafka + Scala 开发(3) : 开发一个Akka + Spark的应用
    Spark集群 + Akka + Kafka + Scala 开发(2) : 开发一个Spark应用
    Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境
    JDBC常用驱动和语法汇总
    JDBC常用驱动和语法汇总
    request.getContextPath获取绝对路径
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4240262.html
Copyright © 2011-2022 走看看