AngularJS表单验证演示

DDfrontenderLover

我正在尝试表单提交到另一个模拟的API终结点,该终结点根据提供的答案是否正确而返回true或false。我是AngularJS的新手,我试图一点一点地掌握它。

  • 如何从json文件正确显示所需的消息?
  • 如何显示答案选项并进行验证?

朋克

HTML

   <my-form ng-app="CreateApp" ng-controller="mainController">

        <form ng-submit="submitForm()" novalidate>
            <fieldset>
                <div ng-repeat="field in result.fields">
                  <label for="{{field.type}}">{{field.label}}</label>
                  <input type="{{field.type}}" ngRequired="{{field.required}}">
                  <span ng-show="{{field.errorMessages}}"></span>
                </div>

                <!-- not sure how to display the answers options and validate them -->
                <input type="{{answer.type}}" name="{{answer.label}}" ngRequired="{{answer.required}}" />


            </fieldset>

            <button type="button" ng-click="onValidate(); return false;"> Validate</button>
            <button type="submit"> Submit </button>
        </form>

    </my-form>

JS:

var myApp=angular.module('CreateApp', []);

myApp.controller('mainController', function($scope, $http) {
  $http.get('form.json').success(function(response) {
    $scope.result = response;
    console.log($scope.fields);
  });

  // function to submit the form after all validation has occurred
    $scope.submitForm = function() {

            // check to make sure the form is completely valid
            if ($scope.userForm.$valid) {
                alert('our form is amazing');
            }

        };

});
泰迪星星

只需对模板进行一些更新即可获得所需的结果。

  1. 您需要遍历选项,并为每个选项打印出新的输入。
  2. 您需要为所有控件使用唯一的名称字段,以便可以将它们正确添加到表单中。
  3. ng-show指令需要一个布尔值,因此您可以将消息的存在转换为布尔值,然后在范围内显示要在表达式为true时显示的文本。

内部ng-repeat用于循环选项并为每个选项创建一个新的字段集。如果没有可用的选项,那么我们将使用一个仅包含该字段的列表,就像我们对每个选项所做的那样,该字段使我们能够访问其标签和值信息。

看法:

<my-form ng-app="CreateApp" ng-controller="mainController">    
    <form ng-submit="submitForm()">
        <fieldset>
            <div ng-repeat="(key, field) in result.fields">
              <div ng-repeat="option in ((field.type && field.options) || [field])">
              <label for="{{field.type}}">{{option.label}}</label>
              <input type="{{field.type}}" name="{{key}}" ngRequired="{{field.required}} value="{{option.value}}">
              <span ng-show="{{!!field.errorMessages.required}}">{{field.errorMessages.required}}</span>
              <span ng-show="{{!!field.errorMessages.invalid}}">{{field.errorMessages.invalid}}</span>
            </div>
            </div>
        </fieldset>

        <button type="button" ng-click="onValidate(); return;"> Validate</button>
        <button type="submit"> Submit </button>
    </form>     
</my-form>

普伦克

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS表单验证顺序

来自分类Dev

AngularJS表单验证

来自分类Dev

AngularJS表单验证

来自分类Dev

AngularJS表单验证

来自分类Dev

Angularjs 表单验证

来自分类Dev

使用angularjs进行表单验证

来自分类Dev

AngularJS多步骤表单验证

来自分类Dev

表单验证AngularJs的条件样式

来自分类Dev

AngularJS中的翻译表单验证

来自分类Dev

AngularJS表单验证中的类

来自分类Dev

具有内部表单的angularjs表单验证

来自分类Dev

具有内部表单的angularjs表单验证

来自分类Dev

angularjs:ng-repeat中的表单验证

来自分类Dev

如何防止AngularJS首次验证表单控件

来自分类Dev

AngularJS:如何验证重复表单字段

来自分类Dev

带有验证的AngularJs动态表单生成

来自分类Dev

AngularJS:防止隐藏的表单字段被验证

来自分类Dev

AngularJS验证表单数组长度

来自分类Dev

使用AngularJS跳过嵌套表单验证

来自分类Dev

AngularJS表单验证:$ valid始终为True

来自分类Dev

AngularJS:表单验证和输入指令

来自分类Dev

AngularJS动态表单字段验证

来自分类Dev

AngularJS表单验证始终为真

来自分类Dev

Google Places指令中的AngularJS表单验证

来自分类Dev

AngularJS-指令的templateUrl中的表单验证

来自分类Dev

AngularJS:ng类和表单验证

来自分类Dev

在angularjs验证后如何提交表单?

来自分类Dev

AngularJS表单拒绝提交时进行验证

来自分类Dev

AngularJS-表单验证,版本1.4.8