基于选择单选按钮的自定义角度验证

时间:2019-09-17 09:06:54

标签: javascript angularjs angularjs-ng-pattern ng-required

我需要一些帮助,因为我有部分验证工作。当选择一种称为CC的付款方式时,用户输入需要立即生效的验证,并且不允许输入错误的号码或可以付款(该按钮将被禁用)。我的问题是验证不起作用,因为当我输入第一个数字时,打开按钮,验证不起作用,并且我也Validation based on user input也使用了此资源。

这是我的html /角度代码:

<label for="phone_number" class="fund-project-personal-details-label">Phone Number</label>
                            <input placeholder="Phone Number" id="phone_number" type="text" ng-model="phone_number" ng-required="selected_payment_method === 'CC'"
                            ng-pattern="phoneNumberPattern">
 <button type="submit"
                                        class="waves-effect waves-light btn-large orange white-text proceed-payment"
                                        ng-disabled="selected_payment_method == undefined || paymentForm.$invalid || selected_reward_total_amount == 0">
                                    Next: Pay
                                    <i class="fa fa-chevron-right" ng-if="!proccess_payment_spinner"></i>
                                    <div class="preloader-wrapper small active right payment-loader" ng-if="proccess_payment_spinner">
                                        <div class="spinner-layer spinner-white-only">
                                            <div class="circle-clipper left">
                                                <div class="circle"></div>
                                            </div>
                                            <div class="gap-patch">
                                                <div class="circle"></div>
                                            </div>
                                            <div class="circle-clipper right">
                                                <div class="circle"></div>
                                            </div>
                                        </div>
                                    </div>
                                </button>

这是我的JS代码:

$scope.phoneNumberPattern = (function() {
        let regexp = /^[07]{10,10}$/;
        let requireNumber = "selected_payment_method === 'MPESA'"
        return {
            test: function(value) {
                if( $scope.requireNumber === true)  {
                    return true;
                }
                return regexp.test(vlue);
            }
        };
    })();

0 个答案:

没有答案