基于多个下拉ID的angularjs验证

时间:2018-06-21 04:06:25

标签: angularjs asp.net-web-api

    $scope.SaveFixedFee = function () {

        $scope.validate = false;
        if ($scope.AddFixedfeeForm.$valid) {
            angular.forEach($scope.lsteComfixedfeelist, function (value, key) {
                if ((value.ChannelId == $scope.channelid) && ($scope.frmamt == (value.ToAmount + 1))) {

                    if (value.Condition.indexOf("=") != -1) {


                        if (($scope.frmamt >= value.FromAmount && $scope.frmamt <= value.ToAmount) || ($scope.toamt >= value.FromAmount && $scope.toamt <= value.ToAmount)) {
                            alert("Please check the from and to amount");
                            $scope.validate = true;
                        }
                    }
                    else {
                        if (($scope.frmamt > value.FromAmount && $scope.frmamt < value.ToAmount) || ($scope.toamt > value.FromAmount && $scope.toamt <= value.ToAmount)) {
                            alert("Please check the from and to amount");
                            $scope.validate = true;
                        }
                    }

                    if (($scope.frmamt + 1) != value.ToAmount) {

                        $scope.validate = true;
                    }
                    if (value.Condition.indexOf("=") != -1) {
                        if ((parseInt($scope.frmamt) - 1) != parseInt(value.ToAmount)) {
                            $scope.validate1 = true;
                        }
                    }
                    else {
                        if (parseInt($scope.frmamt) != parseInt(value.ToAmount + 1)) {
                            $scope.validate2 = true;
                        }
                    }
                }
                else {
                    alert("missed");
                    $scope.validate2 = true;
                }
            })
            if ($scope.validate) {
                alert("false");
                return false;
            }
            if ($scope.validate1) {
                alert("false1");
                return false;
            }
            if ($scope.validate2) {
                alert("false2");
                return false;
            }
            if ((parseInt($scope.frmamt) > parseInt($scope.toamt)) || (parseInt($scope.frmamt) >= parseInt($scope.toamt))) {

                alert("from amount should less than the to amount");
                return false;
            }


            //if ($scope.validate()) {
            //    return false;
            //}
            var Requestboy = {
                'ChannelId': $scope.channelid,
                'FromAmount': $scope.frmamt,
                'ToAmount': $scope.toamt,
                'FixedFee': $scope.feeamt,
                'Condition': $scope.condition,
                'CreatedBy': $scope.LoginRoleId

            }

            $http.post(serviceBasePath + '/api/Product/addFixedFee', Requestboy).then(function (response) {
                if (response.data.indexOf("Successfully") != -1) {
                    alert("Successfully Updated");
                    $state.reload();
                }
                else {
                    alert(response.data);
                    return false;
                }

            }, function (error) {
                alert("Something Went Wrong");
                return false;
            })
        }


    }

enter image description here

在此附上我的查看页面。在这里我正在使用angularjs和webapi。在输入字段中,我有一个下拉菜单通道,一个文本用于金额一,另一个下拉菜单用于条件(<=,> =),一个文本框用于金额,另外一个文本框用于费用金额。 场景是当我选择一个通道并从值输入到值和费用金额时,它存储数据库。 如果我为相同的通道ID输入另一个from amount和to amount,则from amount应该是先前输入的to value的下一个值。 并且从数量上总是大于到数量上。 我想要上述情况下每个通道的angularjs验证。 请帮帮我。 我尝试了下面的代码,但无法正常工作。

0 个答案:

没有答案