vue.js - vee-validate 不工作的基本示例

标签 vue.js vee-validate

我正在尝试使用 vee-validate 制作一个简单的表单验证页面。虽然有些东西似乎坏了,但我不确定我到底做错了什么。

span 标签显示为原始 html:

enter image description here

标记:

<!DOCTYPE html>
<html>
   <head>
      <script type='text/JavaScript' src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
      <script type='text/JavaScript' src="https://cdn.jsdelivr.net/npm/vee-validate@latest/dist/vee-validate.js"></script>
   </head>
   <body>
      <script type='text/JavaScript'>
         Vue.use(VeeValidate); // good to go.
         new Vue({
           el: '#app',
           data: {
              email_primary: null
           }
         });
      </script>


      <div id="app">
         <form action='#' method='POST'>
            <input v-validate="'required|email'" :class="{'input': true, 'is-danger': errors.has('email_primary') }" name="email_primary" type="text" placeholder="email_primary">
            <span v-show="errors.has('email_primary')" class="help is-danger">{{ errors.first('email_primary') }}</span>
            <button class="button is-link" name='submitform' value='go'>Submit</button>
         </form>
      </div>

    </body>
</html>

Fiddle .

我需要做什么才能使 vee-validate 按预期工作?

最佳答案

问题

似乎有几件事,但罪魁祸首是所有脚本标签上的 type 属性都设置为无效的 text/JavaScript。最好不要设置类型,或者如果您设置了类型,请将其设置为 text/javascript

此外,由于您将 div#app 用作模板而不仅仅是根元素,因此我添加了适当的属性。

最后,始终您的 html 之后加载您的 javascript。

固定代码

<!DOCTYPE html>
<html>
   <head>
      
   </head>
   <body>
       <div id="app">
         <form action='#' method='POST'>
            <input v-validate="'required|email'" :class="{'input': true, 'is-danger': errors.has('email_primary') }" name="email_primary" type="text" placeholder="email_primary">
            <span v-show="errors.has('email_primary')" class="help is-danger">{{ errors.first('email_primary') }}</span>
            <button class="button is-link" name='submitform' value='go'>Submit</button>
         </form>
      </div>
      <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/vee-validate@latest/dist/vee-validate.js"></script>
      <script>
         Vue.use(VeeValidate); // good to go.
         new Vue({
           el: "#app",
           template: '#app',
           data() {
            return {
              email_primary: null
            };
           }
         });
      </script>
    </body>
</html>

还有一个 working jsfiddle .

希望对您有所帮助!

关于vue.js - vee-validate 不工作的基本示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50937277/

相关文章:

javascript - Vue.js 方法声明的区别

vue.js - 如何使用 Vue 将文件数据 POST 到预签名的 S3 URI?

vue.js - 使用 vee-validate 验证单选按钮交换的选择列表不显示验证消息

vue.js - 在 Vee-Validate 3.0 中使用 ValidationProvider 在某些情况下跳过验证

javascript - 如何在 Vue.js 中使用点击事件发送数据

vue.js - 如何将 Onsen UI 选项卡与 Vue 单文件组件一起使用

javascript - 提交前验证问题

javascript - 如何修改我的自定义输入组件以使用 vee-validate?

vue.js - vee-validate:是否可以在不更改当前名称的情况下更改 fields-bag-name?

reactjs - 从客户端访问Elasticsearch而不通过API服务器是否安全?