why520crazy / angular-w5c-validator

a simple plugin for angular.js form validation
http://why520crazy.github.io/angular-w5c-validator
468 stars 162 forks source link

想点击submit只弹出首个需要的提示信息 #49

Closed czwaiwai closed 7 years ago

czwaiwai commented 8 years ago

插件挺好的,很想用,但不知道可不可以实现点击submit按钮,只弹出首个错误输入的输入框的提示, 还有就是如何调用表单中个别项是否验证成功。如果可以是否可以提供个demo 谢谢

why520crazy commented 8 years ago
  1. 可以只显示首个错误,所有的错误都在 form.$errors 里面,你只显示 $errors[0] 即可
  2. 判断其中一个是否验证通过 form.name.$valid ,这些属性都是 angular form 自带的
czwaiwai commented 8 years ago

你好,angualr form 自带的form.$errors里面没有包含验证的提示文本信息,请问是怎么取得相应的错误提示文字呢?

why520crazy commented 8 years ago

form.$errors 不是 angular自带的,这是 w5c-validator 里面添加的,没有包含验证的提示文本信息 是什么意思??

czwaiwai commented 8 years ago

可能是我想要的效果是在 提交的submit的方法里自己可以接收回form对象然后做是否提交,而w5c-submit是验证成功后触发的,感觉没有选择的余地,虽然显示错误,但是自己想接收回错误来处理的不是很自由

czwaiwai commented 8 years ago

我在源代码的doValidate做了点修改,不知道这样是否正确 this.doValidate = function (success, event) { if (angular.isFunction(this.form.doValidate)) { this.form.doValidate(); } if (this.form.$valid && angular.isFunction(success)) { $scope.$apply(function () { success($scope, {$event: event}); }); } if(!this.form.$valid && angular.isFunction(success)){ var errors=this.form.$errors; $scope.$apply(function () { success($scope, {$event: event,$errors:errors}); }); } };

lucker-lv commented 7 years ago

上面倒数第二楼的问题有大神知道怎么解决吗?小弟也是遇到了这个问题,比如我点击提交按钮的时候,想让没通过验证的input获得焦点。

why520crazy commented 7 years ago

2.5.0 版本新增了一个 error-callback 应该可以满足你们的需求 https://github.com/why520crazy/angular-w5c-validator/blob/master/CHANGELOG.md

lucker-lv commented 7 years ago

给大神点赞,辛苦大神了