全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)

AngularJS提供了表单验证,但是验证的过程交互体验很不好,比如重设密码,重复密码的时候一键入就会提示密码不正确,现整理了两种方法,仅供借鉴。

一,点击提交验证

<form action="" class="form-horizontal col-md-9" name="reset_pwd" ng-submit="resetPwd()">
  <div class="form-group">
    <label class="col-sm-2 control-label">密码</label>
    <div class="col-sm-8">
      <input type="password" name="mycompwd" class="form-control" ng-model="mycompwd" placeholder="请输入密码">
    </div>
  </div>
  <div class="form-group">
    <label class="col-sm-2 control-label">重复密码</label>
    <div class="col-sm-8">
      <input type="password" name="resetmycompwd" class="form-control" ng-model="resetmycompwd" placeholder="再次输入密码" required>
    </div>
    <span style="color:red" ng-show="mycompwd!=resetmycompwd && reset_pwd.resetmycompwd.$dirty && reset_pwd.submitted
    ">密码不一致</span>
  </div>
  <div class="form-group">
    <button type="submit" class="btn btn-primary" >确认</button>
    <button type="button" class="btn btn-default" ng-click="resetpwd_cancle()">取消</button>
  </div>
</form>

当用户试图提交表单时,你可以在作用域中捕获到一个submitted值,然后对表单内容进行验证并显示错误信息。

JS代码

$scope.submitted = false;
$scope.resetPwd = function(){
  console.log(666);
  if($scope.reset_pwd.$valid && $scope.mycompwd == $scope.resetmycompwd){
    console.log('重置成功,进行其他操作');
  }else{
    $scope.reset_pwd.submitted = true;
  }
}

亲测可用。

第二种失去焦点验证

<form action="" class="form-horizontal col-md-9" name="reset_pwd" ng-submit="resetPwd()">
  <div class="form-group">
    <label class="col-sm-2 control-label">密&nbsp&nbsp码</label>
    <div class="col-sm-8">
      <input type="password" name="mycompwd" class="form-control" ng-model="mycompwd" placeholder="请输入密码">
    </div>
  </div>
  <div class="form-group">
    <label class="col-sm-2 control-label">重复密码</label>
    <div class="col-sm-8">
      <input ng-focus type="password" name="resetmycompwd" class="form-control" ng-model="resetmycompwd" placeholder="再次输入密码" required>
    </div>
    <span style="color:red" ng-show="mycompwd!=resetmycompwd && reset_pwd.resetmycompwd.$dirty
      && !reset_pwd.resetmycompwd.$focused
    ">密码不一致</span>
  </div>
  <div class="form-group">
    <button type="submit" class="btn btn-primary" >确认</button>
    <button type="button" class="btn btn-default" ng-click="resetpwd_cancle()">取消</button>
  </div>
</form>

JS代码

app.directive('ngFocus',[function(){
  var focusClass = 'ng-focused';
  return{
    restrict:'AE',
    require:'ngModel',
    link:function(scope,element,attrs,ctrl){
      ctrl.$focused = false;
      element.bind('focus',function(e){
        element.addClass(focusClass);
        scope.$apply(function(){
          ctrl.$focused = true;
        });
        element.bind('blur',function(e){
          element.removeClass(focusClass);
          scope.$apply(function(){
            ctrl.$focused = false;
          });
        });
      })
    }
  };
}]);

注意HTML标红的地方。正是区分两种方法的关键。

以上所述是小编给大家介绍的Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# angualrjs  # 表单验证  # layui.js实现的表单验证功能示例  # AngularJS实现的获取焦点及失去焦点时的表单验证功能示例  # JS实现的简单表单验证功能完整实例  # 最常用的15个前端表单验证JS正则表达式  # JavaScript表单验证完美代码  # bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能  # js浏览器html5表单验证  # 解决JS表单验证只有第一个IF起作用的问题  # 表单  # 两种  # 请输入  # 小编  # 输入密码  # 就会  # 你可以  # 在此  # 仅供  # 给大家  # 错误信息  # 不正确  # 所述  # 第二种  # 给我留言  # 很不好  # 感谢大家  # 疑问请  # 有任何  # password 


相关文章: 小程序网站制作需要准备什么资料,如何制作小程序?  ,怎么在广州志愿者网站注册?  如何通过免费商城建站系统源码自定义网站主题与功能?  建站DNS解析失败?如何正确配置域名服务器?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  如何通过多用户协作模板快速搭建高效企业网站?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何快速打造个性化非模板自助建站?  如何设计高效校园网站?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  h5在线制作网站电脑版下载,h5网页制作软件?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Python如何创建带属性的XML节点  宝塔建站后网页无法访问如何解决?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  建站之星如何防范黑客攻击与数据泄露?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何用景安虚拟主机手机版绑定域名建站?  如何选择高效稳定的ISP建站解决方案?  模具网站制作流程,如何找模具客户?  如何在Windows服务器上快速搭建网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何在万网主机上快速搭建网站?  制作网站外包平台,自动化接单网站有哪些?  焦点电影公司作品,电影焦点结局是什么?  C#如何使用XPathNavigator高效查询XML  内部网站制作流程,如何建立公司内部网站?  常州自助建站工具推荐:低成本搭建与模板选择技巧  浅析上传头像示例及其注意事项  网站制作价目表怎么做,珍爱网婚介费用多少?  如何快速重置建站主机并恢复默认配置?  ,网页ppt怎么弄成自己的ppt?  css网站制作参考文献有哪些,易聊怎么注册?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  *服务器网站为何频现安全漏洞?  如何用PHP快速搭建CMS系统?  山东网站制作公司有哪些,山东大源集团官网?  IOS倒计时设置UIButton标题title的抖动问题  如何快速搭建虚拟主机网站?新手必看指南  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星后台密码遗忘?如何快速找回?  宝塔建站助手安装配置与建站模板使用全流程解析  如何高效搭建专业期货交易平台网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。