【问题标题】:how to use blur event in form using angular..?如何在使用角度的表单中使用模糊事件..?
【发布时间】:2014-08-15 11:41:27
【问题描述】:

我用这个link制作了一个表格

我能够在按钮点击时验证表单,但有办法验证onBlur,但我不明白我将如何实现这一点。

这是我的plunker

<!DOCTYPE html>
<html >

  <head>    

  <link data-require="bootstrap-css@3.x" data-semver="3.2.0" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" />


    <link rel="stylesheet" href="style.css" />

  </head>

  <body ng-app="test" ng-controller="FormController">

    <form name="ngform"
          sf-schema="schema"
          sf-form="form"
          sf-model="model"  sf-options="{ formDefaults: { ngModelOptions: { updateOn: 'blur' } }}" ng-submit="onSubmit(ngform)"></form>

  <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
  <script src="//dl.dropboxusercontent.com/s/icrciconaesuw29/tv4.js?m="></script>
  <script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="//code.angularjs.org/1.3.0-beta.5/angular.js"></script>
  <script src="//dl.dropboxusercontent.com/s/unk0id7tmc9w0mm/angular-sanitize.js?m="></script>
  <script src="//dl.dropboxusercontent.com/s/rk0dfetihiqs7bi/ObjectPath.js"></script>
  <script src="//dl.dropboxusercontent.com/s/8fq4c4t7jct4w4h/schema-form.js?m="></script>
<script type="text/javascript" src="//textalk.github.io/angular-schema-form/dist/bootstrap-decorator.min.js"></script>

<script>
angular.module('test',['schemaForm']).controller('FormController', function($scope,$http){
   $scope.schema = {
    type: "object",
    properties: {
      name: { type: "string", minLength: 2, title: "Name", description: "Name or alias" ,required:true},
      "email": {
      "title": "Email",
      "type": "string",
      "pattern": "^\\S+@\\S+$",
       validationMessage: {
    "default": "Just write a proper address, will you?"   //Special catch all error message
  },
      "description": "Email will be used for evil.",
      required:true
    },
      title: {
        type: "string",
        required:true,
        enum: ['dr','jr','sir','mrs','mr','NaN','dj']
      }
    }
  };

  $scope.form = [
    "*",
    {
      type: "submit",
      title: "Save"
    }
  ];

  $scope.model = {};
   $scope.onSubmit = function(form) {
    // First we broadcast an event so all fields validate themselves
    $scope.$broadcast('schemaFormValidate');

    // Then we check if the form is valid
    if (form.$valid) {
      // ... do whatever you need to do with your data.
    }
  }
})
    </script>

  </body>

</html>

【问题讨论】:

  • 看这里scotch.io/tutorials/javascript/angularjs-form-validation。这是一个花格 angularjs 表单验证教程
  • 你给静态验证我需要动态验证
  • 您想要验证字段 onblur,不是吗?阅读教程,它会对你有所帮助。
  • 好的,我已经阅读了本教程..感谢您的帮助

标签: javascript angularjs angularjs-directive jsonschema angular-schema-form


【解决方案1】:

ngModelOptions 功能已在 angularjs v1.3.0-beta.6 中为 introduced

您必须使用 v1.3.0-beta.6 或更高版本,然后您的 plunker 才能正常工作!

Plunker 示例: http://plnkr.co/edit/ZCZAcvD2jiBUZhFEcTFA?p=preview

【讨论】:

  • 你把它包含在你的 plunker 中?
  • 是的,我刚把你的 plunker 改成使用 angularjs 到 1.3.0-beta.18
  • 但它仍然无法处理模糊,..请在你身边检查
  • “处理模糊”到底是什么意思?我看到输入是经过验证的 onblur 而不是 onchange。
  • 哦,谢谢它现在可以工作了,为什么我们可以一起做 onchange stop ? ...但是我还有一个问题。我们可以调用模糊功能吗..例如,如果我有一个字段(“名称”),我需要检查它是否包含“sharma”文本,否则为假
猜你喜欢
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
  • 2016-03-02
  • 2019-09-21
  • 2019-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多