一些·angular简单验证方式

本文介绍了一个使用AngularJS实现的表单验证示例。该示例通过AngularJS控制器进行实时验证,确保输入的资产编号为8位数字,资产名称不为空且未重复,以及资产数量为正数。同时展示了如何在前端显示错误信息并更新数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例图

这里写图片描述

head代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>anglar为核心验证</title>
        <script src="js/angular.min.js"></script>
        <style>
            input{
                display: block;             
            }
            ul li{
                color: red;
            }
        </style>


        <script>
            angular.module("myapp",[])
            .controller("demoC",function($scope){
                $scope.datas = [{
                        id: 10011120,
                        name: "iphoneX",
                        num: 99
                    },
                    {
                        id: 10011121,
                        name: "华为mate10",
                        num: 20
                    },
                    {
                        id: 10011122,
                        name: "vivoR12",
                        num: 55
                    }
                ]; //定义一个数组



                $scope.save=function(){
                    //创建一个存放错误信息数组
                    $scope.error_val=[];
                    var reg_id=/^\d{8,8}$/;  //只能8位数字
                    if(!reg_id.test($scope.id)){
                        $scope.error_val.push("资产编号格式,必须为数字,且长度为8位");
                    }
                    //资产名称
                    if($scope.name==undefined||$scope.name==""){
                        $scope.error_val.push("资产名称不能为空!");
                    }else{
                        for(var i in $scope.datas){
                            if($scope.name==$scope.datas[i].name){
                                $scope.error_val.push("资产名称已经存在");
                                break;  //结束循环,已经查找到资产名称不合法
                            }
                        }
                    }
                    //资产数量
                    var reg_num=/^\d{1,}$/;  //只能8位数字
                    if(!reg_num.test($scope.num)){
                        $scope.error_val.push("资产编号数量,必须为数字");
                    }else{
                        if($scope.num<=0){
                            $scope.error_val.push("资产编号数量必须大于0");
                        }
                    }

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

            })

        </script>
    </head>

中间代码

<body ng-app="myapp" ng-controller="demoC">
        <table border="1px solid">
            <tr>
                <td>资产编号</td>
                <td>资产名称</td>
                <td>资产数量</td>
            </tr>
            <tr ng-repeat="d in datas">
                <td>{{d.id}}</td>
                <td>{{d.name}}</td>
                <td>{{d.num}}</td>
            </tr>
        </table>
        <div>
            <form>
                资产编号<input ng-model="id" />
                资产名称<input ng-model="name" />
                资产数量<input ng-model="num" />

                <div>
                    <ul>
                        <li ng-repeat="e in error_val">
                            {{e}}
                        </li>
                    </ul>
                </div>
                <button ng-click="save()">
                资产录入    
                </button>
            </form>
        </div>
    </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值