我使用的是带有角度js的精确验证,但是它不起作用,我做错了什么,任何一个人都可以纠正或检测我代码中的错误。如果我正在服从,所以它不工作,没有向我显示任何错误的间接显示,根据他们的属性。我还添加了简洁的库,并且没有得到任何与它相关的错误,所以问题出在哪里。
LoginView.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>loginController.js
$scope.login = function() {
var user = {
"username" : $scope.LoginName,
"password" : $scope.LoginPass
}
};发布于 2014-02-05 03:25:53
我做了一些工作,玩了一些东西,但最后我创建了一个名为parsleyValidateInput的指令。把它放在你想要用欧芹验证的每一个输入上。
咖啡脚本:
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>发布于 2015-05-29 12:08:19
有一种最简单的方法可以这样做,这是我使用的指令:
angular.module('app').directive('validateForm', function() {
return {
restrict: 'A',
controller: function($scope, $element) {
var $elem = $($element);
if($.fn.parsley)
$elem.parsley();
}
};
});用法:
<form class="form-horizontal" ng-submit="login()" validate-form="" novalidate="">注意:novalidate=""用于阻止HTML5验证。
发布于 2015-01-22 15:12:29
我知道这条信息是旧的,但我想我会回复,希望它能帮助别人。
最后,我做了一些类似于@yagudaev的事情,但是使它更加通用,所以您不需要在每个元素上使用欧芹属性。相反,我们需要在form元素上使用它作为属性。我还考虑了表单是否是动态加载的,所以欧芹仍然可以验证它。这是用欧芹2.x和角1.3.x和1.4.x测试的。
http://ryanalberts.com/797/parsley-validation-with-angularjs/
我应该注意到,我最终使用了与ngMessage一起使用angulars验证的路线,但增强了它的验证功能,以允许使用值重用验证消息(即。值需要在X和Y之间。X和Y是自动插入的),这是欧芹天生比角ngMessage更好的表现,也是1.3+中新的形式验证。
https://stackoverflow.com/questions/19934222
复制相似问题