sheikh-k
11/9/2016 - 8:38 PM

Form Validation (Basic JavaScript).js


$scope.PostExpenseVoucher = function() {
        var validation = ValidateVoucher();
        if (validation.complete == true) PostExpenseVoucher();
        else {
            if (validation.message != undefined) ShowErrorModal(validation.message);
            else ShowErrorModal("Please provide full information");
        }
};


function Empty(val) {
    if (Array.isArray(val)) return val.length == 0 ? true : false;
    else return (val === undefined || val == null || val == '' || val == 0 || val == NaN || !val) ? true : false;
}


function ValidateVoucher() {
    var validation = { complete: true };
    if (Empty($scope.Acc_ExpenseVoucher.VoucherNo)) { validation.complete = false; validation.message = "VoucherNo is Empty"; }
    if (Empty($scope.Acc_ExpenseVoucher.TransactionDateTime)) { validation.complete = false; validation.message = "Transaction is Empty"; }
    if (Empty($scope.Acc_ExpenseVoucher.CostCenterID)) { validation.complete = false; validation.message = "Please select an outlet"; }
    if (Empty($scope.Acc_ExpenseVoucher.VoucherNo)) { validation.complete = false; validation.message = "VoucherNo is Empty"; }

    if (!Empty($scope.Acc_PaymentDetail.HasBankPayment)) {
        if (Empty($scope.ddlBank)) { validation.complete = false; validation.message = "Select a bank"; }
        if (Empty($scope.Acc_PaymentDetail.ChequeDateTime)) { validation.complete = false; validation.message = "Select a cheque date"; }
        if (Empty($scope.Acc_PaymentDetail.ChequeNo)) { validation.complete = false; validation.message = "Give a cheque number"; }
        if (Empty($scope.Acc_PaymentDetail.BankPaidAmount)) { validation.complete = false; validation.message = "Please pay some amount in bank"; }
    }
    if (!Empty($scope.Acc_PaymentDetail.HasCashPayment)) {
        if (Empty($scope.Acc_PaymentDetail.CashPaidAmount)) { validation.complete = false; validation.message = "Please pay some amount in cash"; }
    }

    var totalCount = 0;
    for (var i = 0; i < $scope.Acc_VoucherDetail.length; i++) {
        var x = $scope.Acc_VoucherDetail[i];
        if (!Empty(x.ItemName) || !Empty(x.ChartOfAccountID) || !Empty(x.DrAmount) || !Empty(x.Description)) {
            if (!Empty(x.ItemName)) {
                if (Empty(x.ChartOfAccountID) || Empty(x.Description) || Empty(x.DrAmount)) validation.complete = false;
            }
            if (!Empty(x.Description)) {
                if (Empty(x.ChartOfAccountID) || Empty(x.ItemName) || Empty(x.DrAmount)) validation.complete = false;
            }
            if (!Empty(x.ChartOfAccountID)) {
                if (Empty(x.ItemName) || Empty(x.Description) || Empty(x.DrAmount)) validation.complete = false;
            }
            if (!Empty(x.DrAmount)) {
                if (Empty(x.ItemName) || Empty(x.Description) || Empty(x.ChartOfAccountID)) validation.complete = false;
            }
            totalCount++;
        }
    }

    if (totalCount == 0) { validation.complete = false; validation.message="Please add some entry in the form!"; }
    return validation;
}







/* 
    //---------------------- SALES QUOTATION EXAMPLE-----------------------------
    
    function Empty(val) {
        if (Array.isArray(val)) return val.length == 0 ? true : false;
        else return (val === undefined || val == null || val == '' || val == 0 || val == NaN || !val) ? true : false;
    }

        var validation = ValidateVoucher();
        if (validation.complete == true) SaveOrUpdateSalesTempQuotation();
        else {
            if (validation.message != undefined) ShowErrorModal(validation.message);
            else ShowErrorModal("Please provide full information");
        }



function ValidateVoucher() {
        var validation = { complete: true };
        if (Empty($scope.Acc_SalesQuotation.VoucherNo)) { validation.complete = false; validation.message = "VoucherNo is Empty"; }
        if (Empty($scope.Acc_SalesQuotation.TransactionDateTime)) { validation.complete = false; validation.message = "Transaction is Empty"; }
        if (Empty($scope.Acc_SalesQuotation.CostCenterID)) { validation.complete = false; validation.message = "Please select an outlet"; }
        if (Empty($scope.Acc_SalesQuotation.VoucherTo)) { validation.complete = false; validation.message = "Please select a customer"; }
        if (Empty($scope.Acc_SalesQuotation.VoucherNo)) { validation.complete = false; validation.message = "VoucherNo is Empty"; }

        if (!Empty($scope.Acc_PaymentDetail.HasBankPayment)) {
            if (Empty($scope.ddlBank)) { validation.complete = false; validation.message = "Select a bank"; }
            if (Empty($scope.Acc_PaymentDetail.ChequeDateTime)) { validation.complete = false; validation.message = "Select a cheque date"; }
            if (Empty($scope.Acc_PaymentDetail.ChequeNo)) { validation.complete = false; validation.message = "Give a cheque number"; }
            if (Empty($scope.Acc_PaymentDetail.BankPaidAmount)) { validation.complete = false; validation.message = "Please pay some amount in bank"; }
        }
        if (!Empty($scope.Acc_PaymentDetail.HasCashPayment)) {
            if (Empty($scope.Acc_PaymentDetail.CashPaidAmount)) { validation.complete = false; validation.message = "Please pay some amount in cash"; }
        }

        var totalCount = 0;
        for (var i = 0; i < $scope.Acc_VoucherDetail.length; i++) {
            var x = $scope.Acc_VoucherDetail[i];
            if (!Empty(x.ItemName) || !Empty(x.Description) || !Empty(x.ddlMU) || !Empty(x.Qty) || !Empty(x.UnitPrice) || !Empty(x.CrAmount)) {
                if (!Empty(x.ItemName)) {
                    if (Empty(x.Description) || Empty(x.ddlMU) || Empty(x.Qty) || Empty(x.UnitPrice) || Empty(x.CrAmount)) validation.complete = false;
                }
                if (!Empty(x.Description)) {
                    if (Empty(x.ItemName) || Empty(x.ddlMU) || Empty(x.Qty) || Empty(x.UnitPrice) || Empty(x.CrAmount)) validation.complete = false;
                }
                if (!Empty(x.ddlMU)) {
                    if (Empty(x.ItemName) || Empty(x.Description) || Empty(x.Qty) || Empty(x.UnitPrice) || Empty(x.CrAmount)) validation.complete = false;
                }
                if (!Empty(x.Qty)) {
                    if (Empty(x.ItemName) || Empty(x.Description) || Empty(x.ddlMU) || Empty(x.UnitPrice) || Empty(x.CrAmount)) validation.complete = false;
                }
                if (!Empty(x.UnitPrice)) {
                    if (Empty(x.ItemName) || Empty(x.Description) || Empty(x.ddlMU) || Empty(x.Qty) || Empty(x.CrAmount)) validation.complete = false;
                }
                if (!Empty(x.CrAmount)) {
                    if (Empty(x.ItemName) || Empty(x.Description) || Empty(x.ddlMU) || Empty(x.Qty) || Empty(x.UnitPrice)) validation.complete = false;
                }
                totalCount++;
            }
        }

        if (totalCount == 0) { validation.complete = false; validation.message = "Please add some entry in the form!"; }
        return validation;
    }
*/