angularjs - 欧芹验证不起作用Angular js

标签 angularjs parsley.js

我正在使用 angular js 进行解析验证,但它不起作用我做错了什么,任何人都可以纠正或检测到我的代码中的错误。
如果我提交所以它不工作没有向我显示解析显示的任何错误,根据他们的属性。
我还添加了 parsely 库并且没有收到任何与之相关的错误,所以出了什么问题。

登录 View .html

<form class="form-horizontal" ng-submit='login()' data-validate="parsley">
                <div class="modal-header">
                    <h3>Login</h3>
                </div>

                <div class="modal-body">
                    <div class="form-group">
                        <label for="login-Name" class="col-lg-3 form-label">User Name:</label>
                        <div class="col-lg-8">
                            <input type="text" class="form-control" id="login-Name" ng-model="LoginName" name="login-Name" placeholder="User Name" data-type="alphanum" data-required="true" />
                        </div>
                    </div>

                    <div class="form-group">
                        <label for="login-Password" class="col-lg-3 form-label">Password:</label>
                        <div class="col-lg-8">
                            <input type="password" class="form-control" id="login-Password" ng-model="LoginPass" name="login-Password" placeholder="Password" data-type="alphanum" data-required="true" data-minlength="6" data-minlength="6" data-maxlength="20"/>
                        </div>
                    </div>
                </div>


                <div class="modal-footer">
                    <button type="submit" class="btn btn-primary">
                        <i class="icon-user icon-white"></i> Login
                    </button>
                </div>

            </form>

登录 Controller .js
$scope.login = function() {

          var user = {
              "username" : $scope.LoginName,
              "password" : $scope.LoginPass
          }
      };

最佳答案

花了我一些功夫和玩弄一些东西,但我最终创建了一个名为 parsleyValidateInput 的指令.把它放在你想用欧芹验证的每一个输入上。

CoffeeScript :

angular.module('app').directive 'parsleyValidateInput', ($timeout) ->
  link: (scope, element, attrs) ->
    element.on 'remove', ->
      element.closest('form').parsley('removeItem', "##{attrs.id}")

    $timeout ->
      element.attr('id', "input_#{_.uniqueId()}") unless element.attr('id')
      element.closest('form').parsley('addItem', "##{attrs.id}")

javascript:
angular.module('app').directive('parsleyValidateInput', function($timeout) {
  return {
    link: function(scope, element, attrs) {
      element.on('remove', function() {
        return element.closest('form').parsley('removeItem', "#" + attrs.id);
      });
      return $timeout(function() {
        if (!attrs.id) {
          attrs.id = "input_" + (_.uniqueId());
          element.attr('id', attrs.id);
        }
        return element.closest('form').parsley('addItem', "#" + attrs.id);
      });
    }
  };
});

采用:
<form parsley-validate>
   <div class='row' ng-repeat='book in books'>
   <input parsley-validate-input type='text' ng-model='books' required>
</form>

关于angularjs - 欧芹验证不起作用Angular js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19934222/

相关文章:

javascript - 使用 Parsley.js 将验证器添加到动态克隆的字段时出现两个错误

JavaScript `bind` 方法未按预期工作

javascript - 如果在移动设备上,将数组(索引列表)拆分为两行

javascript - Angularjs 和谷歌地图 API 地理定位

javascript - 仅当显式选择行时才关闭 ui-bootstrap typeahead

validation - Parsley.js 可以在没有表单元素的情况下工作吗?

javascript - 从对象列表中过滤($filter)匹配值,排除不必要的属性

jquery - Parsley.js 消息不会显示在自定义错误容器中

jquery - Parsleyjs 消除约束并重新评估字段?

javascript - Parsley.js - 仅验证数字的可选输入