validation.html 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title></title>
  5. <meta charset="utf-8">
  6. <script src="../../../dist/vue.js"></script>
  7. <style type="text/css">
  8. input:not(.valid) {
  9. outline-color: #f00;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <div id="test">
  15. email: <input type="text" v-model="a | email" v-class="valid:validation.email" name="email">
  16. </div>
  17. <script>
  18. var RE = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  19. var test = new Vue({
  20. el: '#test',
  21. filters: {
  22. email: function (val) {
  23. this.validation.email = val === '' || RE.test(val)
  24. return val
  25. }
  26. },
  27. data: {
  28. a: 'hihi',
  29. validation: {
  30. email: true
  31. }
  32. }
  33. })
  34. </script>
  35. </body>
  36. </html>