angular 验证(判断重复)




<!DOCTYPE html>
<html>

 <head>
  <meta charset="utf-8" />
  <title></title>
  <script src="js/angular.min.js" type="text/javascript" charset="utf-8"></script>
  <script src="js/jquery-1.11.1.js" type="text/javascript" charset="utf-8"></script>

  <script>
   var app = angular.module("myapp", []);
   app.controller("my", function($scope) {
    $scope.add = false;
    //模拟数据
    $scope.user = [{
     id: 10011120,
     mingcheng: "iphoneX",
     shuliang: 99
    }, {
     id: 10011121,
     mingcheng: "华为10",
     shuliang: 20
    }, {
     id: 10011122,
     mingcheng: "vivoR12",
     shuliang: 55
    }];
    //添加
    $scope.tijiao = function() {
     var id = $scope.id;
     var mingcheng = $scope.mingcheng;
     var shuliang = $scope.shuliang;
     var re = /^\d{8,8}$/;
     var re1 = /^\d{1,}$/;
     //验证编号
     if(!re.test(id)) {
      alert("资产编号必须为数字且长度为8位");
      return;
     }
     //判断名称
     if(mingcheng == undefined || mingcheng == "") {
      alert("资产名称不能为空");
      return;
     } else {
      for(var i = 0; i < $scope.user.length; i++) {
       var u = $scope.user[i].mingcheng;
       if(u == mingcheng) {
        alert("该资产已存在");
        return;
       }
      }
     }
     //验证资产数量
     if(!re1.test(shuliang)) {
      alert("资产数量必须为纯数字");
      return;
     }
     //隐藏添加框
     $scope.add = false;
     $scope.user.push({
      id: id,
      mingcheng: mingcheng,
      shuliang: shuliang
     })

    }
    
    
    
    //搜素
    $scope.ss = function($event) {
     for(var i = 0; i < $scope.user.length; i++) {
      var mc = $scope.user[i].mingcheng;
     }
     if(mc == $scope.mingchengcha) {
      alert("搜到内容");
      return;
     } else {
      alert("未搜到内容");
      return;
     }
    }

   })
  </script>

 </head>
 <body ng-app="myapp" ng-controller="my" style="margin-top: 50px;">
  资产搜素:
  <input type="text" ng-model="mingchengcha" />
  <input type="button" ng-click="ss()" value="搜素" />
  <button ng-click="add = true">添加资产</button>
  <table border="1" style="text-align: center;">
   <tr>
    <td>资产编号</td>
    <td>资产名称</td>
    <td>资产数量</td>
   </tr>


   <tr ng-repeat="i in user | filter:{'mingcheng':mingchengcha}">
    <td>{{i.id}}</td>
    <td>{{i.mingcheng}}</td>
    <td>{{i.shuliang}}</td>
   </tr>
  </table>

  <form ng-show="add">
   资产编号:<input type="text" ng-model="id"/><br />
   资产名称:<input type="text" ng-model="mingcheng" /><br />
   资产数量:<input type="text" ng-model="shuliang" /><br />
   <button ng-click="tijiao()">资产录入</button>
  </form>
 </body>
</html>








第二种:用div显示错误信息




<!DOCTYPE html>
<html>

 <head>
  <meta charset="UTF-8">
  <title>anglar为核心验证</title>
  <script src="js/angular.min.js" type="text/javascript" charset="utf-8"></script>
  <style>
   ul li {
    color: red;
   }
  </style>

  <script>
   angular.module("myapp", [])
    .controller("my", function($scope) {
     //模拟数据
     $scope.user = [{
       id: 10011120,
       name: "iphoneX",
       num: 99
      },
      {
       id: 10011121,
       name: "华为mate10",
       num: 20
      },
      {
       id: 10011122,
       name: "vivoR12",
       num: 55
      }
     ];
     //提交
     $scope.tijiao = function() {
      //创建一个存放错误信息数组
      $scope.cuo = [];
      //判断编号
      var id = /^\d{8,8}$/; //只能8位数字
      if(!id.test($scope.id)) {
       $scope.cuo.push("资产编号格式,必须为数字,且长度为8位");
      }

      //资产名称
      if($scope.name == undefined || $scope.name == "") {
       $scope.cuo.push("资产名称不能为空!");
      } else {
       for(var i in $scope.user) {
        if($scope.name == $scope.user[i].name) {
         $scope.cuo.push("资产名称已经存在");
         break; //结束循环,已经查找到资产名称不合法
        }
       }
      }

      //资产数量
      var num = /^\d{1,}$/; //只能8位数字
      if(!num.test($scope.num)) {
       $scope.cuo.push("资产编号数量,必须为数字");
      } else {
       if($scope.num <= 0) {
        $scope.cuo.push("资产编号数量必须大于0");
       }
      }

      //何时添加进行,何时不添加
      if($scope.cuo.length == 0) {
       $scope.user.push({
        id: $scope.id,
        name: $scope.name,
        num: $scope.num
       });
      }
     }

    })
  </script>
 </head>

 <body ng-app="myapp" ng-controller="my">
  <table border="1">
   <tr>
    <td>资产编号</td>
    <td>资产名称</td>
    <td>资产数量</td>
   </tr>
   <tr ng-repeat="i in user">
    <td>{{i.id}}</td>
    <td>{{i.name}}</td>
    <td>{{i.num}}</td>
   </tr>
  </table>
  <div>
   <form>
    资产编号:<input ng-model="id" /> <br /> 资产名称:
    <input ng-model="name" /> <br /> 资产数量:
    <input ng-model="num" /><br />

    <div>
     <ul>
      <li ng-repeat="i in cuo">
       {{i}}
      </li>
     </ul>
    </div>

    <button ng-click="tijiao()">资产录入</button>
   </form>
  </div>
 </body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值