Я пытаюсь интегрировать форму кредитной карты, в которой я использовал бы учетные данные, заполненные во входных данных, для отправки в PayPal API с помощью метода post и получения ответа обратно.
Я пытался написать проверку на стороне клиента и столкнулся спроблема заключается в написании проверки для даты истечения срока, где мне нужен формат месяца / года (00/0000), и месяц должен быть 2 цифры, а год должен быть 4 цифры.сейчас моя форма принимает любые цифры длины, если они написаны с помощью "/", например: 23456/12456, и выдает ошибку только в том случае, если она полностью символьна.Итак, я немного запутался, как написать такую проверку !!
До сих пор я использую регулярное выражение для проверки простых целых полей ввода всех символов.Не знаю сложную проверку формы, как указано выше.
Итак, как я могу использовать проверку AJAX или JQuery, чтобы заставить пользователя писать в требуемом формате?
HTML
<form action="/payment" method="post">
{% csrf_token %}
<div class="col-md-4 col-sm-6 col-xs-6 input_mb">
<label>Name on Card</label>
<input id="id_card_name" class="form-control" name="fields[]" type="text" placeholder="Full name as display on card">
</div>
<div class="col-md-4 col-sm-6 col-xs-6 input_mb">
<label>Credit Card Number</label>
<input id="id_card_number" class="form-control" name="fields[]" type="text" placeholder="Enter Card Number">
</div>
<div class="col-md-4 col-sm-6 col-xs-6 input_mb">
<label>Expiry</label>
<input id="id_card_expiry" class="form-control" name="fields[]" type="text" placeholder="Ex: 06/2023">
</div>
<div class="col-md-4 col-sm-6 col-xs-6 input_mb">
<label>Security Code</label>
<input id="id_security_code" class="form-control" name="fields[]" type="text" placeholder="Ex: XXX8">
</div>
<div class="col-md-4 col-sm-m col-xs-6 input_mb">
<button class="btn" type="button">PAY $139</button>
</div>
</form>
AJAXвызов, который я использую для публикации данных в API
<script>
$(document).ready(function(){
$('.btn').click(function(){
alert('clicked')
$.ajax({
method:'POST',
url:'/payment',
data:{
'name':$('#id_card_name').val(),
'number':$('#id_card_number').val(),
'card-month-year':$('#id_card_expiry').val(),
'security-code':$('#id_security_code').val(),
csrfmiddlewaretoken:'{{ csrf_token }}'
},
success:function(response){
alert(response);
var resss = $.parseJSON(response);
console.log(resss.card.status);
if (resss.card.status == "succeeded"){
window.location = res.redirect_url;
}
}
})
})
})
</script>