精华内容
下载资源
问答
  • vue-form-源码

    2021-03-04 19:38:08
    vue-form
  • vue-form-making 简体中文 | English The FormMaking developed base on vue and element-ui, equipts with the latest front-end technology stack, built-in i18n ...
  • 您可以通过运行以下命令来安装此软件包: npm install --save vue-form-components或yarn add vue-form-components 然后,您可以将此包导入到您的项目中。 Import VueFormComponents from 'vue-form-components' ...
  • 前端项目-vue-form.zip

    2019-09-03 12:14:40
    前端项目-vue-form,Vue.js的表单验证
  • 使用vue-form-generator

    2021-03-11 15:17:44
    1. npm i vue-form-generator 安装成功 2.引用 import VueFormGenerator from "vue-form-generator"; import "vue-form-generator/dist/vfg.css"; // optional full css additions 引用之后就报错 项目跑不起来 @...
    1. npm i vue-form-generator  安装成功 
    
    2.引用
    import VueFormGenerator from "vue-form-generator";
    import "vue-form-generator/dist/vfg.css";  // optional full css additions
    
    引用之后就报错 项目跑不起来
    @babel core-js
    
    我的package.js  默认装了个core-js 是最新的3.9 版本
      "dependencies": {
        "@form-create/element-ui": "^2.5.0-alpha.5",
        "axios": "^0.21.0",
        "core-js": "3.9.1",
        "echarts": "^4.0.4",
        "element-ui": "^2.15.1",
        "jquery": "^3.5.1",
        "js-cookie": "^2.2.1",
        "vue": "^2.6.11",
        "vue-form-generator": "^2.3.4",
        "vue-quill-editor": "^3.0.6",
        "vue-router": "^3.2.0",
        "vuex": "^3.4.0"
      },
    
    最后尝试 改版本
    yarn add core-js@3
     
    降完版本之后 就能跑起来了
    
     npm install --save core-js@2    npm install --save core-js@3
      yarn add core-js@2              yarn add core-js@3
    展开全文
  • 通过npm可作为vue-form 。 import VueForm from 'vue-form' ; // or var VueForm = require('vue-form') or window.VueForm if you are linking directly to the dist file // install globally Vue . use ( Vue...
  • <div><p>Currently vue-form-generator and some of the field types are bound to bootstrap.css. We're using another css framework in our application. It may be a good idea to set a theme in the ...
  • Vue-form-wizard是基于vue的组件,没有外部依赖关系,从而简化了选项卡向导的管理。 演示: 基本 其他演示: 从任何步骤开始。 注意:start-index从零开始,计数从0开始 替换您不喜欢的东西 与集成的 您可以在向导...
  • <p>I have problem in import vue-form-generator Please find the attachment screen shot FYI. Please suggest me on this. <p>Code Sample: <pre><code> <template> <div v-cloak> <div class&#...
  • vue-form-generator的源代码字段 例子 < vue xss=removed xss=removed></ vue> < script > export default { data () { return { model : { source : ` <template></template> ` }, schema : { ...
  • vue-form-making是一个基于vue和element-ui实现的表单设计器,使用了最新的前端技术栈,内置了 i18n 国际化解决方案,可以让表单开发简单而高效。 特性: 可视化配置页面 提供栅格布局,支持Flex和响应式布局 一键...
  • vue form 添加字段 vfg-field-array...A vue-form-generator field to handle arrays. 一个vue-form-generator字段来处理数组。 例子 (Examples) 简单数组 (Simple array) { model: { array: ["item1", "ite...

    vue form 添加字段

    vfg-field-array (vfg-field-array)

    A vue-form-generator field to handle arrays.

    一个vue-form-generator字段来处理数组。

    例子 (Examples)

    简单数组 (Simple array)

    preview-simple

    {
      model: {
        array: ["item1", "item2", "item3"]
      },
      schema: {
        fields: [
          {
            type: "array",
            label: "Array field",
            model: "array",
            showRemoveButton: true
          }
        ]
      }
    }

    带容器组件 (With container component)

    preview-container

    {
      model: {
        array: ["item1", "item2", "item3"]
      },
      schema: {
        fields: [
          {
            type: "array",
            label: "Array field",
            model: "array",
            itemContainerComponent: "Container"
          }
        ]
      }
    }

    Container.vue (Container.vue)

    <template>
      <div>
        <div>
          <div class="title">
            <a @click="contentVisible = !contentVisible">
              {{contentVisible ? "-" : "+"}} Container ({{model}})
            </a>
            <a @click="$emit('removeItem')">
              X
            </a>
          </div>
          <div class="content" v-if="contentVisible">
            <slot></slot>
          </div>
        </div>
      </div>
    </template>
    
    <script>
      export default {
        props: ["model"],
        data() {
          return {
            contentVisible: false
          };
        }
      };
    </script>
    <style scoped>
      .title { background: whitesmoke; }
      .content { border: 2px solid whitesmoke; padding: 10px; }
      a { color: blue; text-decoration: underline; }
    </style>

    使用容器组件和对象作为数组项 (With container component and object as array item)

    vfg-field-array-1

    {
      model: {
        columns: [{
          "label": "Name",
          "field": "full_name",
          "template": ""
        }, {
          "label": "URL",
          "field": "html_url",
          "template": ""
        }, {
          "label": "Date",
          "field": "date",
          "template": ""
        }],
      },
      schema: {
        type: 'array',
        label: 'Columns',
        model: 'columns',
        itemContainerComponent: 'WidgetListColumnEditorContainer',
        showRemoveButton: false,
        fieldClasses: 'arrayEditor',
        newElementButtonLabelClasses: "button is-primary",
        items: {
          type: 'object',
          default: {},
          schema: {
            fields: [{
              type: 'input',
              inputType: 'text',
              label: 'Label',
              model: 'label',
            },{
              type: 'input',
              inputType: 'text',
              label: 'Field',
              model: 'field',
            },{
              type: 'sourcecode',
              label: 'Template',
              model: 'template',
            }]
          }
        }
      }
    }

    使用bootstrap 4容器组件,对象作为数组项,validation和inputName (With bootstrap 4 container component, object as array item, validation and inputName)

    model: {
      columns: {}
    },
    schema: {
      fields:[
        {
          type: "array",
          label: 'Columns',
          model: 'columns',
          inputName: "columns",
          showRemoveButton: false,
          newElementButtonLabelClasses: "btn btn-outline-dark mt-2",
          itemContainerComponent: "field-array-bootstrap-accordion-item",
          newElementButtonLabel: "+ Add Column",
          itemContainerHeader: function(model, schema, index) {
            return "Column " + (index + 1) + (model && model.label ? " (" + model.label + ")": "");
          },
          items:{
            type: 'object',
            schema: {
              fields: [
                  {
                      type: "input",
                      inputType: "text",
                      label: "Name",
                      model: "name",
                      inputName: "name",
                      required: true,
                      validator: "string",
                  },
                  {
                      type: "input",
                      inputType: "text",
                      label: "Description",
                      model: "description",
                      inputName: "description",
                      validator: "string"
                  },
                  {
                      type: "select",
                      label: "Field Type",
                      model: "type",
                      inputName: "type",
                      required: true,
                      validator: "string",
                      values: [
                          {id: "string", name: "Text Field"},
                          {id: "text", name: "Text Area"},
                          {id: "number", name: "Number"},
                          {id: "date", name: "Date"},
                          {id: "select", name: "Single selection"},
                          {id: "multiselect", name: "Multiple Selection"},
                          {id: "boolean", name: "True/False"}
                      ]
                  },
                  {
                      type: "array",
                      label: "Values",
                      model: "values",
                      inputName: "values",
                      validator: "array",
                      showRemoveButton: true,
                      showModeElementUpButton: true,
                      showModeElementDownButton: true,
                      itemFieldClasses: "form-control",
                      itemContainerClasses: "input-group pb-2",
                      newElementButtonLabelClasses: "btn btn-outline-dark",
                      removeElementButtonClasses: "btn btn-danger input-group-append",
                      moveElementUpButtonClasses: "btn btn-outline-dark input-group-append",
                      moveElementDownButtonClasses: "btn btn-outline-dark input-group-append",
                      newElementButtonLabel: "+ Add Value",
                      visible: function(model) {
                          return model && (model.type === "select" || model.type === "multiselect");
                      },
                      required: function(model) {
                          return model && (model.type === "select" || model.type === "multiselect");
                      }
                  },
                  {
                      type: "input",
                      inputType: "number",
                      label: "Rows (optional)",
                      model: "rows",
                      inputName: "rows",
                      validator: "integer",
                      visible: function(model) {
                          return model && model.type === "text";
                      }
                  }
                ]
            }
          }
        }
      ]
    
    },
    formOptions: {
      validateAfterChanged: true
    }

    安装 (Installation)

    npm install vfg-field-array

    vfg-field-array can be used as a module in both CommonJS and ES modular environments.

    vfg-field-array可以在CommonJS和ES模块化环境中用作模块。

    When in non-modular environment, vfg-field-array will register all the components to vue by itself.

    在非模块化环境中,vfg-field-array将自己注册所有组件以进行vue。

    ES6 (ES6)

    //
    // You can register a component manually
    //
    import { FieldArray } from 'vfg-field-array';
    
    export default {
      ...
      components: {
        FieldArray
      },
      ...
    };
    
    //
    // or register the whole module with vue
    //
    import ModuleLibrary from 'vfg-field-array';
    
    // Install this library
    Vue.use(ModuleLibrary);

    普通JS (CommonJS)

    //
    // You can register a component manually
    //
    var Vue = require('vue');
    var ModuleLibrary = require('vfg-field-array');
    
    var YourComponent = Vue.extend({
      ...
      components: {
        'field-array': ModuleLibrary.FieldArray
      },
      ...
    });
    
    //
    // or register the whole module with vue
    //
    var Vue = require('vue');
    var ModuleLibrary = require('vfg-field-array');
    
    // Install this library
    Vue.use(ModuleLibrary);

    浏览器 (Browser)

    <script src="path/to/vue/vue.min.js"></script>
    <script src="path/to/vfg-field-array/dist/vfg-field-array.min.js"></script>
    <!-- Components are registered globally -->

    之后,您可以将其与Vue Form Generator一起使用: (After that, you can use it with Vue Form Generator:)

    schema: {
        fields: [
          {
            type: "array",
            label: "My array",
            model: "myArray"
          }
        ]
      }

    翻译自: https://vuejsexamples.com/a-vue-form-generator-field-to-handle-arrays/

    vue form 添加字段

    展开全文
  • Vue表单JSON模式 一个基于的表单生成器,带上您的组件! ... 没有预构建的组件可以让您困惑您的表单。 相反,您可以使用发出事件,自定义或本机事件的任何组件或...import VueFormJsonSchema from 'vue-form-json-schema'
  • ##vue-form-check (基于vue的表单验证) 安装 // 安装 npm i vue-form-check -S 复制代码引用 // 引用(eg. 在工程的main.js下) import vueFormCheck from 'vue-form-check' Vue.use(vueFormCheck) 复制代码调用 ...

    ##vue-form-check (基于vue的表单验证)

    安装

    // 安装
    npm i vue-form-check -S
    
    复制代码

    引用

    // 引用(eg. 在工程的main.js下)
    import vueFormCheck from 'vue-form-check'
    Vue.use(vueFormCheck)
    复制代码

    调用

    this.$checkForm(current, config)
    @params
    current 是当前校验对象
    config  是校验规则对象
    
    config.alias     别名
    config.type      配置项数据类型
    config.required  是否必填、非空验证
        常用不同类型初始化为空条件
        1、number 类型: Infinity, -Infinity
        2、array 类型: []
        3、string 类型: ''
        4、object 类型: {}
        5function 类型: new Function()
    
        // nullundefined 赋值之后就不是相应的类型,会不通过,不可用
        6、undefined 类型: undefined
        7、null 类型: null
        // 特殊情况,可通过将 boolean, regexp 转换为 string 类型进行验证
        8、boolean 类型: 初始化默认为false,无法触发非空检验
        9、regexp 类型: 初始化默认为/(?:)/,无法触发非空检验
    
    config.rule      正则校验
    config.depend    先决条件(省事可以在callback里直接判断,推荐写,true校验本项;false不校验本项)
    config.callback  灵活校验(rule同时出现,只处理callback,参数是当前值,true校验通过;false校验不通过)
    
    @return object 对象
    不通过的话    {alias: '电话', type: 'rule'}   alias是配置的别名,type可以是['type'|'required'|'rule']
    校验通过的话  {} 空对象
    
    ps. 验证表单可以写在mixin里,这里简单处理直接写在组件里了
    复制代码

    Component

    // 使用例子
    new Vue({
      data() {
        return {
          params: {
            id: '1234',
            person: {
                name: 'jackie',
                age: '27',
                phone: '18266666666',
                home: ['罗湖区田心村']
            }
          }
        }
      },
      methods: {
        submit() {
          //...
          console.log('submit success');
        },
        check() {
          let obj = this.$checkForm(this.params, {
                id: {
                  alias: 'id',
                  type: 'string'
                },
                // 必填校验
                'person.name': {
                    alias: '学校',
                    type: 'string',
                    required: true
                },
                // 正则校验
                'person.phone': {
                    alias: '电话',
                    type: 'string',
                    rule: /^1[345678][0-9]{9}$/
                },
                // 灵活校验,如数值、日期区间验证
                'person.age': {
                    alias: '年龄',
                    callback(value) {
                        if (value < 30 && value > 18) {
                            return true;
                        }
                        return false;
                    }
                },
                // 先决校验,如果电话等于以下,校验地址信息
                'person.home': {
                    alias: '方向',
                    type: 'array',
                    required: true,
                    depend() {
                        if (this.params.person.phone === '18210517463') {
                          return true;
                        }
                        return false;
                    }
              }
            });
            const length = Object.keys(obj).length;
            if (length === 0) {
                return this.submit();
            }
            switch (obj.type) {
                case 'type':
                    this.$alert(`${obj.alias}的类型定义错误`, '提示');
                    break;
                case 'required':
                    this.$alert(`${obj.alias}是必填项`, '提示');
                    break;
                case 'rule':
                    this.$alert(`${obj.alias}的输入不符合规范`, '提示');
                    break;
                default:
                    break;
            }
        }
      }
    });
    复制代码
    展开全文
  • <div><p>anyway to fire vue methods from inside button? Function(model, field) the model and field can not access to $parent or $root.can not access any top ...vue-generators/vue-form-generator</p></div>
  • vue-form表单验证插件

    2018-01-22 17:31:00
    参考地址:... github地址:https://github.com/fergaldoyle/vue-form 安装插件 cnpm install vue-form --save 使用,在main.js里加入 import VueForm from 'vue-form' Vue.use(VueForm)...

    参考地址:https://segmentfault.com/q/1010000003988864

    github地址:https://github.com/fergaldoyle/vue-form

    安装插件

    cnpm install vue-form --save

    使用,在main.js里加入

    import VueForm from 'vue-form'

    Vue.use(VueForm)

    代码实战

      1 <template>
      2     <div class="login__content">
      3         <vue-form :state="formstate" v-model="formstate">
      4     <div class="login__title">SIGN IN</div>
      5     <div class="login__content_input username__margin_bottom">
      6            <validate auto-label class="form-group required-field" :class="fieldClassName(formstate.name)">
      7             <input type="text"  name='name'  placeholder="Username" required v-model="model.name"/>            
      8         </validate>
      9              <field-messages name="name" v-show="isSubmit">
     10            <!--<div class="success__msg"></div>-->
     11            <div class="error__msg" slot="required">Username is a required field</div>
     12              </field-messages>
     13     </div>
     14     <div class="login__content_input">
     15         <validate auto-label class="required-field" :class="fieldClassName(formstate.password)">
     16             <input type="password" name="password"  placeholder="Password" required v-model="model.password" />
     17         </validate>
     18         <field-messages name="password" v-show="isSubmit" >
     19              <!--<div class="success__msg"></div>-->
     20              <div class="error__msg" slot="required">Password is a required field</div>
     21         </field-messages>
     22         
     23     </div>
     24     <div class="error__msg" v-if='errorMsg["fail"]'>{{errorMsg["fail"]}}</div>
     25     <div class="login__in_part">
     26         <div class="forgot__password">
     27             <a >Forgot Password</a>
     28         </div>
     29         <div class="login__remember">
     30             <label><input type="checkbox" v-model="isRemember" /> Remember me</label>
     31         </div>
     32         <div class="login__in">
     33             <button  class="signin" @click.prevent="login"  >SIGN IN</button>
     34         </div>
     35     </div>
     36     <div class="sign__register">Don't have an account?  <a href="#" >Sign Up</a> </div>
     37     </vue-form>
     38 </div>
     39 </template>
     40 <script>
     41 import config from '../../utils/config.js'
     42 export default{
     43     data(){
     44         return{
     45             formstate: {},
     46             errorMsg:{},
     47             isSubmit:false,
     48             isRemember:true,
     49             model:{
     50                 name:'',
     51                 password:''
     52             }
     53         }
     54     },
     55     methods:{
     56         fieldClassName: function (field) {
     57       if(!field) {
     58         return '';
     59       }
     60       if((field.$touched || field.$submitted) && field.$valid && !this.errorMsg["fail"]) {
     61         return 'has-success';
     62       }
     63       if((field.$touched || field.$submitted) && field.$invalid && this.errorMsg["fail"]) {
     64         return 'has-danger';
     65       }
     66     },
     67     login(){
     68         this.isSubmit=true;
     69         if(this.formstate.$valid===false){
     70             return
     71         }
     72         let o={
     73             email:this.model.name,
     74             password:this.model.password
     75         }
     76         this.$axios.post(`${config.apiPreUrl}/login/getToken`, o).then((res)=>{
     77             console.log(res.data);
     78         })
     79     }
     80     }
     81 }
     82 </script>
     83 <style lang="scss" >
     84 .login__content{
     85   width: 452px;
     86   height: 495px;
     87   background: white;
     88   position: relative;
     89   box-shadow: 0px 0px 14px #423D40;
     90   padding: 0 44px 0 43px;
     91 }
     92 .login__title{
     93   padding: 56px 0 27px 0px;
     94   font-size: 18px;
     95   color: #3A3A3A;
     96   font-weight: bolder;
     97 }
     98 .login__content_input{
     99   width: 365px;
    100   position: relative;
    101   input{
    102     height: 48px;
    103     padding: 0 8px;
    104     background-color: #ffffff;
    105     padding-left: 15px;
    106     width: 100%;
    107     outline: none;
    108     font-size: 15px;
    109     border: solid 1px #C4C4C4;
    110     &:hover{
    111         border: solid #C4C4C4 1px;
    112         box-shadow:0 0 3px rgba(136,136,136,0.7);
    113     }
    114   }
    115 }
    116 .username__margin_bottom{
    117   margin-bottom: 25px;
    118 }
    119 .forgot__password{
    120   font-size: 11px;
    121   padding: 9px 0 0 4px ;
    122   a{
    123     color:#E25043;
    124     cursor: pointer;
    125   }
    126 }
    127 .login__remember{
    128    padding: 29px 0;
    129    font-size: 11px;
    130    color: #707D95;
    131    font-weight: lighter;
    132    input{
    133         margin-top:0px !important;
    134         margin-right: 5px;
    135         vertical-align: middle;
    136    }
    137 }
    138 .login__in_part{
    139   padding-left: 4px;
    140 }
    141 .login__in{
    142   height: 44px;
    143   button{
    144     width: 50%;
    145     height: 44px;
    146     color: #000;
    147     border: 0;
    148     background: #E25043;
    149     color: #ffffff;
    150     font-size: 12px;
    151   }
    152 }
    153 .sign__register{
    154   padding: 29px 0 0 6px;
    155   color: #4A4A4A;
    156   font-size: 12px;
    157   a{
    158     color: #E25043;
    159     text-decoration: none;
    160   }
    161 }
    162 .error__msg{
    163   color: #E25043;
    164   font-size: 13px;
    165   padding: 7px 0 0 0 ;
    166 }
    167 .has-danger{
    168   border: solid 1px #EB7057!important;
    169 }
    170 .has-success{
    171   border: solid 1px #43C7A9 !important;
    172 }
    173 .has-normal{
    174   border:solid #C4C4C4 1px!important;
    175 }
    176 </style>

     

    转载于:https://www.cnblogs.com/zhihou/p/8330200.html

    展开全文
  • <div><p>vue-form-maker表单验证的时候,有些元素的验证时好时坏,而且不是每次某个元素。</p><p>该提问来源于开源项目:woai3c/vue-form-maker</p></div>
  • <div><h1>20</h1><p>该提问来源于开源项目:vue-generators/vue-form-generator</p></div>
  • vue-form-generator在内部使用和 。 尽管内置字段不需要外部依赖关系,但可选字段可能需要其他库。 这些依赖关系分为两个阵营:jQuery或Vanilla。 您可以在两种风格中找到几乎相同的功能。 最后,您可以选择是否...
  • 今天小编就为大家分享一篇vue-form表单验证是否为空值的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • import VueFormMaker from 'vue-form-maker' import ViewUI from 'view-design'; import 'view-design/dist/styles/iview.css'; // 如需使用城市数据 可以这样引用 // 省 市 县 import 'vue-form-maker/dist/city...
  • vue-form-builder-源码

    2021-04-05 16:01:58
    形式生成器 练习打包套件并发布 开发 npm run serve 建置 npm run build 发布 npm publish // 第一次需設定npm帳號 npm adduser npm publish -- access public
  • vue-form 是一个在vue 中用于表单验证的插件 目前版本为4.1.1 ??Form validation for?Vue.js 2.2+import VueForm from 'vue-form';// install globallyVue.use(VueForm);Vue.use(VueForm, options);// or use the ...
  • vue-form-validation-源码

    2021-04-04 21:49:56
    验证形式 项目设置 yarn install 编译和热重装以进行开发 yarn serve 编译并最小化生产 yarn build 整理和修复文件 yarn lint 自定义配置 请参阅。
  • vue-form-making基于Vue的可视化在线拖拉表单设计器,让表单开发简单而高效特性可视化配置页面提供栅格布局,并采用flex实现对齐一键预览配置的效果一键生成配置json数据一键生成代码,立即可运行提供自定义组件满足...
  • vue-form-table 介绍 基于element-ui的el-form和el-table做的二次封装 https://gitee.com/ziyuan_xcc/vue-form-table 示例 <template> <div class="demo"> <div> <h1>myForm</h1>...
  • vue-form-making基于Vue的可视化在线拖拉表单设计器,让表单开发简单而高效特性可视化配置页面提供栅格布局,并采用flex实现对齐一键预览配置的效果一键生成配置json数据一键生成代码,立即可运行提供自定义组件满足...
  • woai3c/vue-form-maker​github.com简介Vue动态生成表单组件 可以根据数据配置表单 使用的UI库是iView在Vue里 一般要用到什么组件或数据 都得提前声明所以要根据数据来生成表单 只能使用Vue的render函数要做这一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,994
精华内容 2,797
关键字:

vue-form

vue 订阅